shutil

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
frisei
User
Beiträge: 9
Registriert: Montag 8. April 2013, 14:20

Hallo PythonForum

Bei Kopier und Move Aktionen mittels shutil
z.bsp.
import shutil
try:
shutil.move (alt,neu ) #von nach

bleibt das System hängen mit der Meldung, dass die betreffende Datei von einem anderen
Programm belegt ist.
Mittels Process-Explorer stellt ich dann fest, dass es das eigene Programm,
also python.exe ist. (egal ob Py2 oder py3)
Man kann mit try, except noch so fummeln, manchmal schafft ER nicht mal die erste Datei,
mal klemmts erst an der 10.
Ist das vielleicht auch der Grund, dass in "os" keinerlei kopier oder move Befehle vorhanden sind.
Notgedrungen liess ich von python eine batch-datei erstellen und nach beenden des py-programms
wird diese "todo.bat" aufgerufen. Und das klappt auch, aber für eine Programmiersprache ist so eine (Not)-
Lösung eigentlich beschämend!!!
Was sagen die Spezialisten.
mit freundlichem Gruß
Fritz
Sirius3
User
Beiträge: 17759
Registriert: Sonntag 21. Oktober 2012, 17:20

@frisei: Du suchst den Schuldigen an der falschen Stelle. Dein Betriebssystem hat so ziemliche Probleme, was Dateioperationen anbelangt. `os` stellt nur sehr low-level Funktionen bereit, unter anderem `os.rename`. Darauf bauen auch die höheren Funktionen aus `shutil` auf.
BlackJack

@frisei: Wobei das eigentlich funktionieren sollte. Ich würde den Fehler dann auch erst einmal in Deinem Programm suchen ob Du da nicht tatsächlich selber irgendwo noch Dateien offen hast die Du verschieben möchtest.
Antworten