Files kopieren (lassen)?

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.
Antworten
shakebox
User
Beiträge: 175
Registriert: Montag 31. März 2008, 17:01

Sorry, aber ich steh grad auf dem Schlauch. Ich will ein kleines Skript schreiben das nen Watchfolder im Loop alle paar Sekunden ueberwacht und wenn da Files drinstehen, deren Inhalt ausliest. In denen steht naemlich der absolute Pfad eines Ordners drin. Diesen Ordner bzw. genauer dessen Inhalt moechte ich dann file-weise von einem Volume auf ein anderes kopieren.

Das mit dem Watchfolder klappt auch wunderbar, jetzt wollte ich das mit dem Kopieren machen. Da dachte ich in meinem jugendlichen Leichtsinn dass ich da jetzt einfach in 'os' schaue und da wie 'listdir', 'mkdir' usw. eben auch einen 'copy(file)' oder sowas finde, der mir dann auf Systemebene das angegebene File kopiert.

Aber irgendwie seh ich das nicht. Muss ich da jetzt tatsaechlich jedes File irgendwie mit 'open' oeffnen und dann wieder an die neue Location schreiben oder wie geht das in Python schlau?

Danke vielmals!

PS: muss jetzt dann zu nem Termin. Also nicht wundern wenn auf Nachfragen nicht gleich ne Antwort kommt. Schau mir das dann spaeter heute abend an.
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Working with the Operating System
* The role of the Operating System
* Python's access to the operating system
* Working with files and folders
* Working with Processes
* Finding out about users

findet man hier:
http://www.freenetpages.co.uk/hp/alan.gauld/tutos.htm
shakebox
User
Beiträge: 175
Registriert: Montag 31. März 2008, 17:01

danke vielmals. Ich hatte es einfach bei den anderen File/Ordner-Operationen in os/os.path erwartet und wusste, als ich es da nicht fand, einfach nicht in welchem Modul das sonst "versteckt" sein könnte.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

shakebox hat geschrieben:danke vielmals. Ich hatte es einfach bei den anderen File/Ordner-Operationen in os/os.path erwartet und wusste, als ich es da nicht fand, einfach nicht in welchem Modul das sonst "versteckt" sein könnte.
Ja. Aber polling ist definitiv die schlechteste Lösung, nutze für das überwachen besser inotify/gamin.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
shakebox
User
Beiträge: 175
Registriert: Montag 31. März 2008, 17:01

Hm, das ist dann aber noch mal ne andere "Groessenordnung" an Aufgabe, denke ich. Das überfordert mich glaub momentan ziemlich.

Aber erstmal ne Verständnisfrage:
sowas wie inotify/gamin müsste aber dann auf dem Server laufen auf dem der Watchordner liegt und nicht auf dem Client, auf dem ich das Programm laufen lasse und der sich dann eben die Daten vom Server auf die lokale Platte kopiert, oder?

Dann könnte das schwierig werden, denn das ist kein "normaler" Fileserver sondern ein per Fibrechannel angeschlossenes SAN. Da komm ich also nicht an nen Kernel oder sowas ran. Da müsste ich höchstens schauen ob so ein Teil sowas von sich aus schon kann.
shakebox
User
Beiträge: 175
Registriert: Montag 31. März 2008, 17:01

ach ja, was der Notify-Idee auch noch entgegensteht ist dass das Programm, das den Watchfolder überwacht und ne Aktion ausführt, das also auf so nen Notify "hören" würde, nicht unbedingt dauernd läuft. Deshalb wollte ich es schon eher andersrum aufbauen, so daß das Verarbeitungsskript eben dann wenn es läuft nachschaut, ob sich was angesammelt hat.
Antworten