【问题标题】:Python: Removing Leading Zeros in the Filename of Every File in a Folder and SubfoldersPython:删除文件夹和子文件夹中每个文件的文件名中的前导零
【发布时间】:2018-01-21 19:47:04
【问题描述】:

我认为这是一项基本任务,但我的大多数搜索都涉及添加零。我只想从每个文件中去除前导零。我有像“01.jpg,02.jpg... 09.jpg”这样的文件。

Automate the Boring Stuff 的第 9 章专门讨论了使用 python 来完成这项任务,但没有涉及任何示例。

import os, sys
for filename in os.listdir(os.path.dirname(os.path.abspath(__file__))):

这就是我目前所拥有的一切的开始。

【问题讨论】:

    标签: python module operating-system


    【解决方案1】:
    import os, sys
    for filename in os.listdir(file folder):
        os.rename(filename, filename[1:])
    

    它从所有文件名中删除第一个字符(在您的情况下,您想要删除的“0”)。我建议谨慎使用它,因为它是不可逆的。

    【讨论】:

      【解决方案2】:

      使用它来获取根文件夹下的所有文件:

      files = [] for root, directories, file_names in os.walk(unicode(path)): for filename in file_names: files.append((filename, root)) return files

      然后简单地遍历文件并重命名:

      for f, p in files: if f.startswith('0'): os.rename(os.path.join(p, f), os.path.join(p, f[1:])

      【讨论】:

      • 感谢您的及时回复。我尝试使用此代码,但在没有 cmets 的情况下对其进行格式化时可能会遇到问题。程序到达第一个冒号并说“无效语法”。
      • 我删除了 cmets
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-24
      • 1970-01-01
      • 1970-01-01
      • 2018-07-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多