string.split() splittet zu einzelnen Buchstaben anstatt zu Wörtern

Dieses Thema im Forum "Ruby, php, Perl, Python ..." wurde erstellt von keks, 03.05.2011.

  1. #1 keks, 03.05.2011
    Zuletzt bearbeitet: 03.05.2011
    keks

    keks nicht 1337 genug

    Dabei seit:
    17.01.2007
    Beiträge:
    401
    Zustimmungen:
    0
    Ort:
    Hessen
    [PYTHON] string.split() splittet zu einzelnen Buchstaben anstatt zu Wörtern

    Hallo Forum,

    ich weis ehrlich gesagt nicht mehr weiter.
    Ich möchte folgendes tun (in der python Shell klappt das wunderbar)

    Code:
    >>> ext="search foo bar baz" 
    >>> ext.split()
    ['search', 'foo', 'bar', 'baz']
    dann alles ab dem ersten element ausgeben (bzw im orginal script funktionen aufrufen) 
    >>> for each in ext.split()[1:]:
    ...     print each
    foo
    bar
    baz
    
    so wie ich es erwarten würde. Wenn ich ext.split() im orginal script aufrufe, dann splittet er Zeichenweise. Hier mal relevante Auszüge aus meinem Orginalscript:

    Code:
        command = str(raw_input(": "))
        if "search" in command:
            fc.searchMass(command) 
    
    searchMass:
    Code:
        def searchMass(self, ext):
            rtn=""
            #print ext
            ext.split(" ")
            #for each in ext:
            #	print each
            if len(ext) > 1:
                for line in ext[1:]: # alles nur nicht das erste element
                    rtn+=self.search(line)
            print rtn
    
    search:
    Code:
        def search(self,ext):
            if os.name=="posix":
                # Checkt auf locate
                if not os.system("locate") == 32512: # not found 
                    dFilelist = os.popen("locate "+ext) # luxurious lets use locate's db
                    
                elif not os.system("find -pippikaka") == 256: # wrong option
                    # have to search with find
                    dFilelist = os.popen('find /tmp -name '+ext+' 2> /dev/null')
            endline=""
            for line in dFilelist:
                endline+=str(line)
            return endline
    
    Wenn ich nun an searchMass(self, "search a") übergebe, dann wird es folgedermaßen aufgesplittet:
    : search a
    search a
    "
    s
    e
    a
    r
    c
    h

    a
    "
    was im wiederspruch zur funktionalität der split funktion in der shell steht?! Hilfe seh ich den Wald vor lauter Bäumen nicht?

    Grüße

    Keks

    PS: es gibt bestimmt schickere Möglichkeiten auf locate zu prüfen (bin für vorschläge offen ;) ). Ich mache etwas ala "rapid prototyping".
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. juan_

    juan_ König

    Dabei seit:
    22.01.2004
    Beiträge:
    992
    Zustimmungen:
    0
    Ort:
    Berlin
    spontan fällt mir auf, dass du split() unterschiedich aufrufst.
    wobei split(" ") ja eigentlich nur bei Leerzeichen splitten sollte..


    was passiert, wenn du im Skript die Gänsefüßchen rausnimmst?
     
Thema:

string.split() splittet zu einzelnen Buchstaben anstatt zu Wörtern

Die Seite wird geladen...

string.split() splittet zu einzelnen Buchstaben anstatt zu Wörtern - Ähnliche Themen

  1. KDE in gesplitteten Paketen wie bei Gentoo

    KDE in gesplitteten Paketen wie bei Gentoo: Hi, ich hatte mir neulich mal Arch Linux mit KDE auf meinem Rechner installiert. Gibt es eine möglichkeit nur einzelne Programme aus KDE zu...