Teile aus Variable auslesen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Iopodx(gast)

Teile aus Variable auslesen

Beitragvon Iopodx(gast) » Dienstag 28. September 2004, 19:14

Hi!

Ich würde gerne aus einer variable:

DOWNLOAD: Yes (21,97 kbytes/s)

nur das 21 auslesen....

Kann mir da einer was sagen?

Danke schonmal im vorraus
Benutzeravatar
fs111
User
Beiträge: 170
Registriert: Samstag 15. November 2003, 11:42
Kontaktdaten:

Beitragvon fs111 » Dienstag 28. September 2004, 19:17

Das könntest Du z.B. mit einem regulären Ausdrcuk machen, oder aber einfach mit Slicing, etwa so:

Code: Alles auswählen

>>> test = "DOWNLOAD: Yes (21,97 kbytes/s)"
>>> m1 = test.find('(')
>>> m2 = test.find(',')
>>> print test[m1+1:m2]
21


HTH

fs111
Pydoc-Integration in vim - Feedback willkommen: http://www.vim.org/scripts/script.php?script_id=910
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Dienstag 28. September 2004, 20:35

Hi,

hier mit re:

Code: Alles auswählen

>>> import re
>>> test = "DOWNLOAD: Yes (21,97 kbytes/s)"
>>> found = re.findall("\d+", test)
>>> if found is not None:
...     print found[0] # in found[1] stehen die Nachkommastellen
...
21



Gruß

Dookie

Code: Alles auswählen

#!/usr/bin/env python
import this
Iopodx(Gast)

Beitragvon Iopodx(Gast) » Mittwoch 29. September 2004, 19:51

danke! Und jetzt noch ein problem:

Ich habe eine Zeile Gefunden, wie kann ich diese jetzt auslesen?

Also ich suche z.B. in

1000.444.333.200
--------------
DIR: /
DELETE STATS: deletable
RUNNING OS: Windows_NT version 5.0
RESUMABLE: Yes
FXP STATS: non-FXPable
UPLOAD: Yes (5,18 kbytes/s)
DOWNLOAD: Yes (35,40 kbytes/s)
LIST: Yes

Hier suche ich nun nach 1000 und möchte diesen, falls gefunden, dann in einer Variable speichern?!
joe

Beitragvon joe » Mittwoch 29. September 2004, 20:24

Hallo!
Iopodx(Gast) hat geschrieben:danke! Und jetzt noch ein problem:

Sorry, nur rückfragen:

Soll das der inhalt einer datei sein?
Nach welchen kriterien hat du die zeile "gefunden", sprich was macht die zeile aus, die dich interessiert? was ist zb, wenn die 1000 nicht vorne steht, sondern woanders (z.B. "2000.1000.444.333" oder "DIR: /1000undEineNacht/")? Ist das dann immernoch die gesuchte 1000?
Warum willst du die 1000 abspeichern? wenn du konkret die 1000 suchst, brauchst du doch dir nur die information merken, dass du sie gefunden hast.

Also, am besten du abstrahierst das problem mal.
joe
Gast

Beitragvon Gast » Mittwoch 29. September 2004, 20:36

sorry denkfehler, habs schon gelöst, hatte heute nen blackout :-D Hatte gedacht ich such in der Datei selbst, anstatt inner Liste :-D
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Sonntag 3. Oktober 2004, 11:07

Tipp: Es gibt so ein kleinen Buch von O'Reilly über regex, ist sicher sehr nützlich für dich.
My god, it's full of CARs! | Leonidasvoice vs Modvoice

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]