开发者社区> 问答> 正文

尝试重命名目录中的所有文件时出现FileNotFoundError

我正在编写一个python脚本来重命名给定文件夹中的所有文件。python脚本与images / jaguar文件一起存在于我的jl-classifier中。我正在尝试运行以下脚本来获取文件夹中的每个文件,并将其重命名为以下格式:

jaguar _ [#]。jpg

但是它抛出以下错误:

Traceback (most recent call last):
  File "/home/onur/jaguar-leopard-classifier/file.py", line 14, in <module>
    main()
  File "/home/onur/jaguar-leopard-classifier/file.py", line 9, in main
    os.rename(filename, "Jaguar_" + str(x) + file_ext)
FileNotFoundError: [Errno 2] No such file or directory: '406.Black+Leopard+Best+Shot.jpg' -> 'Jaguar_0.jpg'

这是我的代码:

import os


def main():
    x = 0
    file_ext = ".jpg"

    for filename in os.listdir("images/jaguar"):
        os.rename(filename, "Jaguar_" + str(x) + file_ext)
        x += 1


if __name__ == '__main__':
    main()

问题来源:stackoverflow

展开
收起
is大龙 2020-03-24 14:22:33 815 0
1 条回答
写回答
取消 提交回答
  • 为了使用os.rename(),您需要提供绝对路径。

    我建议用os.rename(os.path.expanduser(f“/ {这里有任何文件夹} / images / jaguar / {filename}“),os.path.expanduser(f”/ {这里有任何文件夹} / images / jaguar / Jaguar_ {str(x)} {file_ext}“)

    os.path.expanduser()允许您使用“〜”语法来辅助abs文件路径。

    回答来源:stackoverflow

    2020-03-24 14:22:41
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载