Hallo,
ich möchte das aktuelle Datum mit Uhrzeit für verschiedenen Ordner benutzen.
Ich erstelle vier Textdateien mit jeweils diesen aufruf.
b= time.strftime(%d%m%Y%H%M%S)
a=open("c:\....\%s hallo" %b, "a"
Das ist jetzt der Name der Datei.
Diese Datei erstell ich 4 mal und möchte aber immer die selbe Zeit haben.
Das mit der Zeit ist wichtig damit ich die erstellten Datei Unterscheiden kann.
Danke und Gruß
Werte Speichern
@Campionissimo: Dann darfst Du `b` halt für alle vier Dateien nur einmal berechnen und nicht für jede Datei neu.
-
- User
- Beiträge: 102
- Registriert: Montag 28. März 2011, 07:50
Wahrscheinlich eine ganz blöde frage wie soll das gehen ?
Jedes mal wenn ich b aufrufe kommt ein anderes Zeitformat
Jedes mal wenn ich b aufrufe kommt ein anderes Zeitformat
@Campionissimo: Du darfst halt für alle vier Dateien die Zeit nur einmal ermitteln und nicht für jede. Mehr kann man da so nicht zu sagen. Wie das geht? Man ermittelt die Zeit nur einmal und nicht viermal.
`b` wird übrigens nicht aufgerufen, das ist an eine Zeichenkette gebunden.
`b` wird übrigens nicht aufgerufen, das ist an eine Zeichenkette gebunden.
Eher nicht.Campionissimo hat geschrieben:Jedes mal wenn ich b aufrufe kommt ein anderes Zeitformat
Code: Alles auswählen
b = time.strftime(%d%m%Y%H%M%S)
print b
print b
print b
-
- User
- Beiträge: 102
- Registriert: Montag 28. März 2011, 07:50
oh, mann ich bin so b......
Die Zeit hat sich ja gar nicht mehr verändert.
Hab nur vergessen die Zeit sdie in b steht zu übergeben;)
Die Zeit hat sich ja gar nicht mehr verändert.
Hab nur vergessen die Zeit sdie in b steht zu übergeben;)
-
- User
- Beiträge: 102
- Registriert: Montag 28. März 2011, 07:50
Aber ich hätte noch was anderes, wo ich schon länger probs hab.
In einem Modul ist eine Variable i.
Diese ist in einer if Bedingung drin.
D.h. jedes mal wenn ich in die If bedingung rein komm. wird i erhöht.
Jetzt möchte ich diese aktuelle variable in der if Bedingung an ein anderes Modul übergeben.
Ich springe auch schon von dieser Position im Code zu dem anderen Modul.
ungefähr so:
a=thread_Modul1.run()
Modul1 ist das Modul
und run(9 eine def wo ich das mit dem i bearbeiten möchte.
Hab das ganze schon über Import der variablen probiert oder über meinen thread.
wie könnt das gehen
In einem Modul ist eine Variable i.
Diese ist in einer if Bedingung drin.
D.h. jedes mal wenn ich in die If bedingung rein komm. wird i erhöht.
Jetzt möchte ich diese aktuelle variable in der if Bedingung an ein anderes Modul übergeben.
Ich springe auch schon von dieser Position im Code zu dem anderen Modul.
ungefähr so:
a=thread_Modul1.run()
Modul1 ist das Modul
und run(9 eine def wo ich das mit dem i bearbeiten möchte.
Hab das ganze schon über Import der variablen probiert oder über meinen thread.
wie könnt das gehen
Sorry, aber mit dieser Problembeschreibung wird das nix, das versteht ja kein Mensch.
Basic? GOTO 10?
Code: Alles auswählen
... Ich springe auch schon von dieser Position im Code ...
Hmm, bin mir nicht sicher, ob ich Dich richtig verstehe, aber ich könnte mir vorstellen, dass Du das mit einer Klasse erreichen kannst. Module sind IMHO nicht der geeignete Ort zur Ablage veränderlicher Daten und deren Weiterreichung.
Natürlich könnten in dieser Klasse auch if-Abfragen stattfinden, innerhalb derer Du Werte definierst/änderst. Die Methoden 'count_up()' und 'count_down()' sollen dafür nur ein Beispiel sein.
Das Exemplar 'c' kannst Du nun wohin auch immer weiterreichen und dort den Wert 'counter' abfragen.
mutetella
Code: Alles auswählen
class Count(object):
def __init__(self):
self.counter = 0
def count_up(self, number):
self.counter += number
def count_down(self, number):
self.counter -= number
In [85]: c = Count()
In [86]: c.count_up(10)
In [87]: c.counter
Out[87]: 10
In [88]: c.count_down(5)
In [89]: c.counter
Out[89]: 5
Das Exemplar 'c' kannst Du nun wohin auch immer weiterreichen und dort den Wert 'counter' abfragen.
mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit )
-
- User
- Beiträge: 102
- Registriert: Montag 28. März 2011, 07:50
Ja, so ungefähr hast du Recht. Du überschreibst immer die 0 indem du einen int addierst.
Ich möchte es mit zwei threads machen und einen der das ganze verbindet.
Das soll die Verbindung zwischen den Threads sein
hier Thread_a
hier der Thread b
Also ich möchte die Zeit im Threada generieren und dann über mein main thread an den thread b übergeben und benutzen.
Es soll kein fester Wert sein. Sonst würde ich in der __init__ die Zeit zuweisung machen.
Weiß wer was wie das geht.
Glaub der compiler meckert ich habe 2 argumente, aber es ist nur 1 da.
Vielen Dank und Grüße
Ich möchte es mit zwei threads machen und einen der das ganze verbindet.
Code: Alles auswählen
a = Thread_a.Threada()
b = Thread_b.Threadb(a.time, a.timedaten)
a.start()
b.start
hier Thread_a
Code: Alles auswählen
class Threada(threading.Thread):
def __init__(self, timedaten):
self.timedaten = timedaten
threading.Thread.__init__(self)
def run(self):
fzeit = int(time.strftime(%d%m&Y%H%M%S)
zeit1=Threada(fzeit)
Code: Alles auswählen
class Threadb(threading.Thread):
def __init__(self,fzeit):
self.fzeit=fzeit
threading.Thread.__init__(self)
def run():
print self.zeit
Es soll kein fester Wert sein. Sonst würde ich in der __init__ die Zeit zuweisung machen.
Weiß wer was wie das geht.
Glaub der compiler meckert ich habe 2 argumente, aber es ist nur 1 da.
Vielen Dank und Grüße
Tu dir uns uns den Gefallen und erstelle zumindest ein lauffähiges Beispiel. Daran kannst du dann erklären was du möchtest. Zur Zeit ist, zumindest meinerseits, Raten angesagt. Vielleicht suchst du Queues?Campionissimo hat geschrieben:Code: Alles auswählen
a = Thread_a.Threada() b = Thread_b.Threadb(a.time, a.timedaten) a.start() b.start
Verwende hier bitte beim Posten von Sourcecode Python-Code-Tags, dann lässt sich das besser lesen.
-
- User
- Beiträge: 102
- Registriert: Montag 28. März 2011, 07:50
Ich habs jetzt hinbekommen.
ich wollte ja vom Threada (Uhrzeit) über Threadhaupt an den Threadb weitergeben. Aber keinen festen Wert sondern einen immer wieder aktualisierenden Wert.
Hab jetzt den threada bescheid gegeben, dass es noch einen Threadb gibt. Und es funzt, aber das Ergebnis ist nicht so gut, da ich einen Zeitverzögerung drin hab von 2-3 sec. Und wenn ich das öfter mach bekommt man schöne Sachen, absturz usw.
D.h. mehrere veränderbare Variablen übergeben.
Aber mit queue haste recht das funzt auch. Kann mann eigentlich mehrere queue machen ?
Also das ganze Szenario initalisieren und übergeben mit einer zweiten Queue.
Oder übergibt man nur mehr Parameter ?
Gruß
ich wollte ja vom Threada (Uhrzeit) über Threadhaupt an den Threadb weitergeben. Aber keinen festen Wert sondern einen immer wieder aktualisierenden Wert.
Hab jetzt den threada bescheid gegeben, dass es noch einen Threadb gibt. Und es funzt, aber das Ergebnis ist nicht so gut, da ich einen Zeitverzögerung drin hab von 2-3 sec. Und wenn ich das öfter mach bekommt man schöne Sachen, absturz usw.
D.h. mehrere veränderbare Variablen übergeben.
Aber mit queue haste recht das funzt auch. Kann mann eigentlich mehrere queue machen ?
Also das ganze Szenario initalisieren und übergeben mit einer zweiten Queue.
Oder übergibt man nur mehr Parameter ?
Gruß