Hallo,
wie kann man den mit Python eine Datei kopieren aber das Datum der "Zieldatei" beibehalten. Ich brauch das weil ich ein paar Schweinereien mit CVS-Dateien machen muß und CVS ein bißchen empfindlich ist.
Beste Gruesse
Michael
Mit Python eine Datei kopieren
Versuchs mal mit `shutil.copy2`. Das kopiert neben dem Dateiinhalt auch alle "stat" Informationen.
-
- User
- Beiträge: 24
- Registriert: Dienstag 25. Juli 2006, 09:32
Kommt drauf an, ob diese Daten in der Datei wirklich "integriert" sind, oder ob sie als Stream anhängen.
Wenn sie als Stream anhängen wird die Geschichte "unangenehm"; Ansonsten müsste theoretisch Binäres Lesen und Schreiben ohne Weiteres ausreichen- oder aktualisiert Python sowas von sich aus?
Gr33tz
Tafkadasom2k5
Wenn sie als Stream anhängen wird die Geschichte "unangenehm"; Ansonsten müsste theoretisch Binäres Lesen und Schreiben ohne Weiteres ausreichen- oder aktualisiert Python sowas von sich aus?
Gr33tz
Tafkadasom2k5
Ich kam, ich sah, und ich ging einfach wieder...
Gott: "Nietzsche ist tot"
Gott: "Nietzsche ist tot"
Äh, das Betriebssystem sorgt normalerweise dafür, das Informationen wie der Zeitstempel der letzten Änderung aktualisiert wird. Ich weiss jetzt nicht wovon Du gerade redest.
-
- User
- Beiträge: 24
- Registriert: Dienstag 25. Juli 2006, 09:32
Ja, also gehe ich davon aus, das die Daten angehängt wurden? In dem Fall muss er die Datei kopieren, und die alten "Daten" wieder dranhängen, nachdem das Betriebssystem es schon aktualisiert hat.BlackJack hat geschrieben:Äh, das Betriebssystem sorgt normalerweise dafür, das Informationen wie der Zeitstempel der letzten Änderung aktualisiert wird.
Oder habe ich dan Denkfehler?
Ich kam, ich sah, und ich ging einfach wieder...
Gott: "Nietzsche ist tot"
Gott: "Nietzsche ist tot"
Entweder hast Du einen Denkfehler oder ich habe die Ausgangsfrage völlig falsch verstanden.
Es sollen Dateien kopiert werden. Zu einer Datei gehören vom Betriebssystem verwaltete Metadaten, wie die Grösse, das Datum wann die Datei angelegt wurde, wann sie zuletzt verändert wurde usw.
Wenn man eine Datei einfach nur kopiert, also alte Datei zum lesen öffnen, neue Datei zum schreiben öffnen, dann wird die neue Datei neu erstellt, bekommt also das aktuelle Datum und die aktuelle Zeit als Erstellungsdatum verpasst. Und genau das ist nicht gewünscht -- Michael möchte das auch diese Metadaten mitkopiert werden.
Beispiel wie es nicht sein soll:
Die Kopie ist eine Minute später angelegt worden.
Es sollen Dateien kopiert werden. Zu einer Datei gehören vom Betriebssystem verwaltete Metadaten, wie die Grösse, das Datum wann die Datei angelegt wurde, wann sie zuletzt verändert wurde usw.
Wenn man eine Datei einfach nur kopiert, also alte Datei zum lesen öffnen, neue Datei zum schreiben öffnen, dann wird die neue Datei neu erstellt, bekommt also das aktuelle Datum und die aktuelle Zeit als Erstellungsdatum verpasst. Und genau das ist nicht gewünscht -- Michael möchte das auch diese Metadaten mitkopiert werden.
Beispiel wie es nicht sein soll:
Code: Alles auswählen
marc@s8n:~$ touch a.txt
marc@s8n:~$ ls -l a*.txt
-rw-r--r-- 1 marc marc 0 2006-07-26 11:04 a.txt
marc@s8n:~$ cp a.txt a2.txt
marc@s8n:~$ ls -l a*.txt
-rw-r--r-- 1 marc marc 0 2006-07-26 11:05 a2.txt
-rw-r--r-- 1 marc marc 0 2006-07-26 11:04 a.txt