Seite 2 von 4
Re: print-problem o.O
Verfasst: Freitag 24. September 2010, 11:29
von busfahrer
@bluelagoon: "strftime" gibt doch schon einen String zurück.Du musst doch keinen String in einen String umwandeln.
Code: Alles auswählen
>>> lt = time.localtime()
>>> st = time.strftime("%d.%m.%y", lt)
>>> st
'24.09.10'
>>> type(st)
<type 'str'>
Gruß...busfahrer
Re: print-problem o.O
Verfasst: Freitag 24. September 2010, 11:36
von bluelagoon
ja ich habs grad irgendwie auch gemerkt aber ich muss das Datum der Datei die in der Datei steht in ein string umwandeln
Re: print-problem o.O
Verfasst: Freitag 24. September 2010, 12:11
von mkesper
bluelagoon hat geschrieben:ich hör immer nur Kritik Kritik.
Na, dafür postest du doch hier: Um etwas zu lernen! Und das geht halt nur, wenn du die Grundlagen (zumindest halbwegs) verstanden hast und dir selbst Gedanken machst. Wenn dir Lösungen vorgekaut werden, ist der Lerneffekt ziemlich gering.
Re: print-problem o.O
Verfasst: Freitag 24. September 2010, 12:13
von bluelagoon
naja ich komm oft auf die Lösungen auch wenn ich dafür nen Gedankenstoß brauch -.-
Re: print-problem o.O
Verfasst: Freitag 24. September 2010, 12:18
von Hyperion
bluelagoon hat geschrieben:naja ich komm oft auf die Lösungen auch wenn ich dafür nen Gedankenstoß brauch -.-
Und verwendest immer noch os.system() - obwohl Dir das subprocess-Modul nahe gelegt wurde und Du es sogar importierst!
Naja, und wenn Du Dich mal mit Funktionen beschäftigt hättest, wäre Dein Code auch nicht mehr so Spagettihaft und lesbarer. Zudem würdest Du Dich bei der Benutzung fremder Funktionen leichter tun.
Re: print-problem o.O
Verfasst: Freitag 24. September 2010, 12:25
von bluelagoon
os.system wird verwendet für den tar_befehl ...
jetz mal was anderes... warum soll ich das umändern wenn ich das mit os machen kann?
Re: print-problem o.O
Verfasst: Freitag 24. September 2010, 12:34
von Hyperion
Steht in der Doku:
The subprocess module provides more powerful facilities for spawning new processes and retrieving their results; using that module is preferable to using this function. Use the subprocess module. Check especially the Replacing Older Functions with the subprocess Module section.
Desweiteren bringt es Dir ja nichts Module zu importieren, die Du dann nicht verwendest.
Und Du könntest Deinen Code durchaus in Funktionen gliedern und diesen if...elif...else-Dispatching Code wegwerfen bzw. verschlanken.
Es ist ungemein hilfreich, unterschiedliche Funktionalität auch in verschiedene Funktionen zu packen. Das hilft bei der allg. Strukturierung Deines Codes und auch für eine gute Wiederverwendbarkeit.
Re: print-problem o.O
Verfasst: Freitag 24. September 2010, 12:39
von bluelagoon
naja wie dem auch sei -.- zurück zum Thema
wie splite ich eine Datei so das ich nur eine Einzelne Zahl bekomme?
z.b.
Text
Variable=4T
ich brauch nur die Zahl kann man das irgendwie Trennen vom T?
Re: print-problem o.O
Verfasst: Freitag 24. September 2010, 12:44
von Hyperion
bluelagoon hat geschrieben:naja wie dem auch sei -.- zurück zum Thema
wie splite ich eine Datei so das ich nur eine Einzelne Zahl bekomme?
z.b.
Text
Variable=4T
ich brauch nur die Zahl kann man das irgendwie Trennen vom T?
Gibt viele Möglichkeiten; eine gute Möglichkeit wäre ein RegExp. Schau Dir einfach mal die Doku zum re-Modul an.
Desweiteren: Ich würde an Deiner Stelle nicht so ignorant und bockig reagieren. Die Tipps und Hinweise bezüglich Dinge, die nicht direkt und unmittelbar mit Deiner Frage zusammen hängen, werden hier nicht ohne Grund gegeben!
Re: print-problem o.O
Verfasst: Freitag 24. September 2010, 12:56
von bluelagoon
wenn du meinst Hyperion.
Re: print-problem o.O
Verfasst: Freitag 24. September 2010, 13:06
von bluelagoon
python dp_cron.py
Traceback (most recent call last):
File "dp_cron.py", line 9, in <module>
str=(strftime("%d.%m.%Y",Zeit))
TypeError: argument must be 9-item sequence, not str
Code: Alles auswählen
lt = localtime()
datei = open ("test.ini","r")
Zeile = datei.readlines()
Zeit=Zeile[1].strip().split(" ")[1]
str=(strftime("%d.%m.%Y",Zeit))
datei.close()
print strftime("%d.%m.%Y",Zeit)
die Zeit in der Datei is aber kein String.
Re: print-problem o.O
Verfasst: Freitag 24. September 2010, 13:13
von BlackJack
@bluelagoon: Doch ist sie. Was sollte sie sonst sein!?
Re: print-problem o.O
Verfasst: Freitag 24. September 2010, 13:16
von bluelagoon
warum lässt sich dann komischer weise die Zahl nicht mit strptime umwandeln oder mit str = strftime etc ? irgendwie muss ich DEN ........ doch endlich umwandeln können -.-
Re: print-problem o.O
Verfasst: Freitag 24. September 2010, 13:22
von bluelagoon
BlackJack hat geschrieben:@bluelagoon: Doch ist sie. Was sollte sie sonst sein!?
jetz weis ich was du falsch verstanden hast...
ich hab in einer Datei ein Datum dieses wird vom server geschrieben
da steht drin
Variable=5D 23.04.2010 als beispiel
das heisst wenn 5 drinsteht sichern von Heut bis zum Datum in der Datei. also das Datum in der Datei ist kein String aber die variable lt ist zum String geworden.
das heisst wenn ich lt so stehn lass ist lt auch kein string und dann müsste es doch klappen oder nicht?
Re: print-problem o.O
Verfasst: Freitag 24. September 2010, 13:31
von Hyperion
bluelagoon hat geschrieben:warum lässt sich dann komischer weise die Zahl nicht mit strptime umwandeln oder mit str = strftime etc ?
Die beiden Funtkionen machen ja auch extrem unterschiedliches... wozu da das "oder"?
Re: print-problem o.O
Verfasst: Freitag 24. September 2010, 13:38
von bluelagoon
ja das mit den unterschiedlichen funktionen weis ich hab ich gelesen hab jetz lt so belassen wie es is un nich als string umwandeln.
Re: print-problem o.O
Verfasst: Freitag 24. September 2010, 14:02
von BlackJack
@bluelagoon: Ich habe nichts falsch verstanden. Das Datum in der Datei ist eine Zeichenkette weil Dateien nun einmal Zeichenketten enthalten -- sogar nur Zeichenketten enthalten *können*. Daran ändert sich auch nichts wenn Du 100 mal behauptest es wäre keine Zeichenkette.
Wenn Du die aktuelle Zeit und das Datum in der Datei vergleichen willst, musst Du dafür sorgen, dass beide vom gleichen Typ sind. Wenn es ein Vergleich auf grösser oder kleiner als sein soll, musst Du zusätzlich bedenken, dass Zeichenketten lexikografisch verglichen werden, was bei Zahlen oder Datumsangaben nur unter bestimmten Bedingungen das gewünschte Ergebnis bringt.
Re: print-problem o.O
Verfasst: Freitag 24. September 2010, 14:04
von bluelagoon
hier noch das mit der Variable die Lösung:
Beispiel:
text
variable= 8S
Code: Alles auswählen
outfile = open ("datei.ini","r")
Zeilen = datei.readlines()
for line in Zeilen:
if line.lower().strip().startswith("Variable="):
auswaehlen=re.split('^Variable=([0-9]+)[^0-9]*?$', line.lower().strip())[1]
outfile.close()
print auswaehlen
Re: print-problem o.O
Verfasst: Freitag 24. September 2010, 14:10
von BlackJack
@bluelagoon: Das kann nicht funktionieren. Die ``if``-Bedingung kann niemals wahr sein.
Das `split()` ist ebenfalls so komplett sinnfrei weil dort immer `line` komplett zurückgegeben wird.
Re: print-problem o.O
Verfasst: Freitag 24. September 2010, 14:11
von bluelagoon
es kann nicht funktionieren? komisch das meins funktioniert
und meine Sicherung durchführt =)