python - 使用 os.rename() 重命名文件时出错

标签 python file-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方法将以与平台无关的方式安全地将路径与文件名连接在一起。

关于python - 使用 os.rename() 重命名文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46578631/

相关文章:

python - 从 Excel 中提取日期并使用 python 将其附加到列表中

python - 使用 LSTM 对使用 Keras 的可变长度信号进行多标签分类

Python 正则表达式将一行分成 4 部分

python - 从不同的程序访问字典

android - 如何在 Android Studio 中重命名文件

powershell - 将文件夹日期添加到文件夹名称

python - sqlalchemy.exc.InvalidRequestError : One or more mappers failed to initialize如何解决

使用 R 重命名子目录中的文件

c - 我在 C 语言中重命名和删除函数时遇到困难

c++ - 重命名用户指定目录中的所有文件