Ergebnis 1 bis 2 von 2

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

  1. #1
    nicht 1337 genug Avatar von keks
    Registriert seit
    17.01.2007
    Ort
    Hessen
    Beiträge
    401

    [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".
    Geändert von keks (03.05.2011 um 15:46 Uhr)
    by timos
    “Aber natuerlich sollte man das nicht so pauschal sehen,
    es gibt Aufgaben, fuer die ist eine Maus sehr gut geeignet, zB um Medikamente zu testen.”


    "O Genie, der Herr ehre Dein Ego"

  2. #2
    König Avatar von juan_
    Registriert seit
    22.01.2004
    Ort
    Berlin
    Beiträge
    976
    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?

Ähnliche Themen

  1. String A ab dem letztem vorkommen von String B suchen
    Von ramann im Forum Shell-Skripte
    Antworten: 2
    Letzter Beitrag: 25.08.2009, 17:42
  2. Split-Archive erstellen?
    Von whitenexx im Forum Debian/Ubuntu/Knoppix
    Antworten: 6
    Letzter Beitrag: 03.03.2008, 21:38
  3. Nach Wörtern suchen
    Von BrynFury im Forum Shell-Skripte
    Antworten: 5
    Letzter Beitrag: 24.01.2008, 17:33
  4. string.split() nach variabler anzahl an leerzeichen
    Von hanka im Forum Java/Mono/dotGNU
    Antworten: 5
    Letzter Beitrag: 15.01.2008, 12:38
  5. Antworten: 12
    Letzter Beitrag: 16.11.2003, 16:03

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •