在Python中重命名目录中的多个文件

新手上路,请多包涵

我正在尝试使用 Python 重命名目录中的一些文件。

假设我有一个名为 CHEESE_CHEESE_TYPE.*** 的文件并想删除 CHEESE_ 所以我得到的文件名将是 CHEESE_TYPE

我正在尝试使用 os.path.split 但它无法正常工作。我也考虑过使用字符串操作,但也没有成功。

原文由 Jeff 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 302
2 个回答

使用 os.rename(src, dst) 重命名或移动文件或目录。

 $ ls
cheese_cheese_type.bar  cheese_cheese_type.foo
$ python
>>> import os
>>> for filename in os.listdir("."):
...  if filename.startswith("cheese_"):
...    os.rename(filename, filename[7:])
...
>>>
$ ls
cheese_type.bar  cheese_type.foo

原文由 Messa 发布,翻译遵循 CC BY-SA 3.0 许可协议

这是基于您最新评论的脚本。

 #!/usr/bin/env python
from os import rename, listdir

badprefix = "cheese_"
fnames = listdir('.')

for fname in fnames:
    if fname.startswith(badprefix*2):
        rename(fname, fname.replace(badprefix, '', 1))

原文由 bukzor 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题