Seite 1 von 1

Kommentare aus einem String entfernen.

Verfasst: Freitag 23. Januar 2009, 13:56
von donchris
Wie kann man am einfachsten Prüfen, ob ein String als erstes Zeichen ein "#"- Zeichen hat ?!

mfg
donchris

Verfasst: Freitag 23. Januar 2009, 14:00
von rayo

Code: Alles auswählen

zeile[0] == '#'

Verfasst: Freitag 23. Januar 2009, 14:00
von DasIch
RTFM

Code: Alles auswählen

'#comment'.startswith('#')

Verfasst: Freitag 23. Januar 2009, 14:02
von donchris
Das funktioniert leider nicht. Ich habe es so auch schon einmal probiert.

if line[0] == '#'
^
SyntaxError: invalid syntax

Und der 2. Vorschlag funktioniert auch nicht wirklich:

Code: Alles auswählen

fobj = open("C:/httpd.conf","r")
settings = {}
for line in fobj:
    if line.startswith('#'):
        continue
    zuordnung = line.split(" ") 
    settings[zuordnung[0]] = zuordnung[1]
fobj.close()

EDIT: funktioniert ! Danke derdon !

Verfasst: Freitag 23. Januar 2009, 14:03
von derdon
Aus timeit_curses.py:

Code: Alles auswählen

In [20]: from __future__ import with_statement

In [21]: with open('timeit_curses.py') as f:
    for line in f:
        if line.lstrip().startswith('#'):
            print line,
   ....:             
   ....:             
#!/usr/bin/env python
    # initializing curses
    # make the cursor invisible
    # a counter to track the number of pressing <SPACE>
        # wait for a keypress
        # if <SPACE> is pressed...
            # print the start time if <SPACE> was pressed the 1st time
            # show end time and difference
                # format the output
            # delete the calculated data and start again
                # delete start time
                # delete end time
                # delete difference time
                # reset the counter and restart
        # quit the app if `q` is pressed

Verfasst: Freitag 23. Januar 2009, 14:04
von helduel

Code: Alles auswählen

line = "# test"
if line[0] == '#':
    print "Kommentar"
Das geht. Wenn es bei dir trotzdem nicht geht, dann liegt der Fehler ganz wo anders. Am besten du zeigst mal deinen Code.

Verfasst: Freitag 23. Januar 2009, 14:06
von helduel
donchris hat geschrieben:Und der 2. Vorschlag funktioniert auch nicht wirklich:
Was funktioniert denn nicht?

Verfasst: Freitag 23. Januar 2009, 14:08
von Snoda
donchris hat geschrieben:Das funktioniert leider nicht. Ich habe es so auch schon einmal probiert.

if line[0] == '#'
^
SyntaxError: invalid syntax
Der SyntaxError resultiert aus dem fehlenden Doppelpunkt. Der Bedingung ist korrekt...

Verfasst: Freitag 23. Januar 2009, 22:30
von BlackJack
Das ist trotzdem eine Lösung die nicht 100% geht, wenn man eine leere Zeichenkette bekommt, gibt's einen `IndexError`. `startswith()` kommt damit klar.