import os
import re
def rename_files():
#get file names from a folder
file_list = os.listdir("/Users/myname/Desktop/Python")
#print (file_list)
saved_path = os.getcwd()
print(saved_path)
os.chdir("/Users/myname/Desktop/Python")
#rename each file
for file_name in file_list:
os.rename(file-name, re.sub("[0-9]", "", file_name))
os.chdir(saved_path)
rename_files()
上面的代码应该通过从文件名中删除所有NUMBERS来重命名位于特定文件夹内的每个文件,但没有任何更改。有人可以帮忙吗?谢谢。
答案 0 :(得分:2)
从文件名中删除所有NUMBERS
如果要删除所有数字,那么为什么需要断言:(?!\d*$)
当你可以做到:
os.rename(file_name, re.sub("[0-9]", "", file_name))
你做错了:
os.rename(file-name, re.sub("[0-9](?!\d*$)", "", file_name))
# ^