Python 3.5.1:更改文件名

时间:2016-06-28 08:51:27

标签: python python-3.5

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来重命名位于特定文件夹内的每个文件,但没有任何更改。有人可以帮忙吗?谢谢。

1 个答案:

答案 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))
#             ^