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

Dieses Thema: "string.split() splittet zu einzelnen Buchstaben anstatt zu Wörtern" 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 diesen Ratgeber an. Viele Antworten inkl. passender Shell-Befehle!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. juan_

    juan_ König

    Dabei seit:
    22.01.2004
    Beiträge:
    976
    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...