2017-10-05 2 views
1

Ich benutze Python zum Umbenennen von Dateien, die als Binärdateien existieren, aber in Wirklichkeit Bilder sind. Also muss ich sie in .jpg Format umbenennen. Ich benutze os.rename() aber bekomme den Fehler:Fehler beim Umbenennen von Dateien mit os.rename()

Traceback (most recent call last): 
    File "addext.py", line 8, in <module> 
    os.rename(filename, filename + '.jpg') 
OSError: [Errno 2] No such file or directory 

Hier ist mein Code.

import os 

for filename in os.listdir('/home/gpuuser/Aditya_Nigam/lum2/'): 
    # print(filename + '.jpg') 
    # k = str(filename) 
    # print k 
    # k = filename + '.jpg' 
    os.rename(filename, filename + '.jpg') 

print('Done') 
+0

Versuchen Sie, Pfad mit Dateiname in os.rename – akp

+0

zu lernen Erfahren Sie, einen Debugger zu verwenden, wird es helfen – donkopotamus

Antwort

2

os.listdir Rückkehr nur eine Liste von Dateinamen ohne ihre absoluten Pfade und os.rename wird versuchen, einen Dateinamen aus dem aktuellen Verzeichnis zum Nachschlagen, es sei denn einen absoluten Pfad angegeben. Grundsätzlich funktioniert der Code as-is nur dann, wenn er im selben Verzeichnis ausgeführt wird, wie es von os.listdir aufgerufen wird.

Beachten Sie Folgendes tun:

import os 
from os.path import join 

path = '/home/gpuuser/Aditya_Nigam/lum2/' 
for filename in os.listdir(path): 
    os.rename(join(path, filename), join(path, filename) + '.jpg') 

Die os.path.join Methode wird sicher verbinden den Pfad mit Dateinamen zusammen in einer plattformunabhängig Weise.