Seite 1 von 1

shutil.move -> Error: [Errno 1] Operation not permitted

Verfasst: Mittwoch 26. Dezember 2007, 08:37
von jens
Komisch... Ich möchte eine Datei mit shutil.move() unter Linux verschieben. Dabei wird eine existierende Datei überschrieben. Normalerweise habe ich die nötigen Rechte dazu. Dennoch bekomme ich nur ein "Error: [Errno 1] Operation not permitted".
Wenn ich das selbe in der Shell mit "mv" mache, geht's... Auch per subprocess funktioniert es.

Bsp:

Code: Alles auswählen

filepath = "/home/jens/Photos/2007/1/4/P1030509.JPG"
dest_path = "/home/jens/Photos/2007/01/04" # <- auch mit Slash am Ende

shutil.move(filepath, dest_path) # <- geht nicht

# das geht:
process = subprocess.Popen(
    ['mv', filepath, dest_path],
    stdout=subprocess.PIPE
)
process.wait()
print process.stdout.read()
Zur Info: Ich bin nicht der Besitzer der Datei. Allerdings bin ich in der Gruppe "users" und die Gruppe hat schreibrechte beim Verzeichnis und der schon existierenden Datei.

Was auch nicht geht ist ein os.utime(fn, (atime, mtime)) nach dem kopieren... Es liefert auch nur ein "Error: [Errno 1] Operation not permitted".

Jemand eine Idee?

Re: shutil.move -> Error: [Errno 1] Operation not permitt

Verfasst: Mittwoch 26. Dezember 2007, 10:02
von gerold
jens hat geschrieben:Dennoch bekomme ich nur ein "Error: [Errno 1] Operation not permitted". Wenn ich das selbe in der Shell mit "mv" mache, geht's... Auch per subprocess funktioniert es.
Hallo Jens!

Ich hatte das gleiche Problem unter Windows. Ich weiß aber nicht was man dagegen tun könnte. Meine Lösung damals war auch subprocess zu verwenden.

lg
Gerold
:-)