Seite 1 von 1

shutil

Verfasst: Sonntag 17. April 2016, 12:30
von frisei
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

Re: shutil

Verfasst: Sonntag 17. April 2016, 12:50
von Sirius3
@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.

Re: shutil

Verfasst: Sonntag 17. April 2016, 14:26
von 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.