【问题标题】:Remove numbers from all files names in a folder从文件夹中的所有文件名中删除数字
【发布时间】:2021-07-24 22:30:04
【问题描述】:

我正在尝试从文件夹中的文件的所有文件名中删除所有数字:

import os
import re
infolder = r'E:/folder/test'
def file_rename():
    name_list=os.listdir(infolder)
    print(name_list)
    saved_path=os.getcwd()
    print("Current working directory is"+saved_path)
    os.chdir(infolder)

    for file_name in name_list:
        print("old name"+file_name)
        print("new name"+re.sub('[0-9]', '', file_name))
        os.renames(file_name,file_name.strip("0123456789"))
    os.chdir(saved_path)

file_rename()

它正确打印了新文件名,但实际上并没有更改文件夹中的文件名。

【问题讨论】:

    标签: python file directory rename


    【解决方案1】:

    str.strip() 函数仅删除前导和尾随字符。

    尝试使用

    os.renames(file_name, re.sub('[0-9]', '', file_name))
    

    改为。

    【讨论】:

      【解决方案2】:

      您的代码显示您打印的内容与您实际所做的不同。

      print("new name"+re.sub('[0-9]', '', file_name))
      

      如果这是打印正确的内容,那么您的 os.renames 函数应该如下所示

      os.renames(file_name,re.sub('[0-9]', '', file_name))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-25
        • 1970-01-01
        • 1970-01-01
        • 2013-05-14
        相关资源
        最近更新 更多