Python os.rename 和 os.walk 一起使用

标签 python filenames os.walk

我只是写了一个 python 脚本来摆脱文件名中一些烦人的后缀,

这是我的代码:

import os

for root, dirs, files in os.walk("path"):

    for filename in files:

        if filename.endswith("[AnnoyingTag].mov"):

            os.rename(filename, filename[:-18]+'.mov')

但我在最后一行收到错误:
OSError: [Errno 2] No such file or directory

我很确定我有正确的路径,因为我可以正确打印出所有文件名。

...真的不知道为什么这行不通。

谢谢你的回答

最佳答案

连接路径的首选方法是使用 os.path.join ,改变这一行:

os.rename(filename, filename[:-18]+'.mov')

用这个替换它:
os.rename(os.path.join(root, filename), os.path.join(root, filename[:-18]+'.mov'))

关于Python os.rename 和 os.walk 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17257878/

相关文章:

Python字符串,找到特定的单词,然后复制它后面的单词

python - RegEx 根据模式或分隔符替换字符实例

python - “元组”对象没有属性 'replace'

json - 使用 list.files 在 R 中读取带重音的文件名

java - 安卓/Java : filenames of contents raw folder to array

python - os.walk() 不打印/访问文件

python - 在运行时创建一个动态命名的函数

python - 从另一个笔记本运行 Jupyter 笔记本

python - 排列嵌套列表中的元组组合

python - SPSS Python 获取事件数据集的文件名