簡體   English   中英

使用os.rename()重命名文件時出錯

[英]Error while renaming files using os.rename()

我正在使用python重命名以二進制文件形式存在但實際上是圖像的文件。 所以我需要將它們重命名為.jpg格式。 我正在使用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

這是我的代碼。

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')

os.listdir僅返回沒有絕對路徑的文件名列表,並且os.rename將嘗試從當前目錄中查找文件名,除非給出了絕對路徑。 基本上,僅當在與os.listdir調用的目錄相同的目錄中執行代碼時,原樣的代碼才能工作。

考慮執行以下操作:

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')

os.path.join方法將以與平台無關的方式將路徑和文件名安全地連接在一起。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM