python - 如何使用 python 在多个子目录中为文件添加扩展名

标签 python python-3.x

我需要为大约 300K 张图片添加 .jpg 扩展名。它们全部位于 12 个子目录中,并且这 12 个子目录中的每一个子目录中还有 4 个子目录。

我尝试按照这篇文章进行操作,但没有深入到所有子目录: Adding extension to multiple files (Python3.5)

我还尝试了以下方法:

import os

path = 'C:\\Photos'
genmod = os.walk(path)

for path, pathnames, files in gen_obj:
    for file in files:

        head, tail = os.splitext(file)
        if not tail:
            src = os.path.join(path, pathnames, file)
            dst = os.path.join(path, pathnames, file + '.jpg')

            if not os.path.exists(dst): # check if the file doesn't exist
                os.rename(src, dst)

以上运行但没有任何反应。

最佳答案

The above runs but nothing happens.

我怀疑,有两个问题:

  • os.splitext 应为 os.path.splitext
  • os.path.join 不应给出路径名,因此

    os.path.join(path, pathnames, file)
    

    应该是

    os.path.join(path, file)
    

    os.path.join(path, pathnames, file + '.jpg')
    

    应该是

    os.path.join(path, file + '.jpg')
    

关于python - 如何使用 python 在多个子目录中为文件添加扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57999039/

相关文章:

python - 为什么 python 中的这个 linux 命令不会打开 xterm 终端?

python - 如何在不加载模块的情况下获取模块信息?

python - 在python中使用for循环更新json属性值?

python - 如何绘制数据框的多列

python - Pandas 数据帧 : split multiple columns into multiple columns

python - 尝试安装 Flask 0.9 后的警告和错误

python - 使用 pandas get_dummies 后是否可以连接列?

python - 如何打印一个单词,但在每一个新行之后都会添加一个字母

python - 我应该使用事件、信号量、锁、条件或其组合来管理安全退出我的多线程 Python 程序吗?

Python:修改.cfg文件中的部分字符串