import os
def rename_files():
#(1) get file names from a folder
file_list = os.listdir("my_directory")
#print(file_list)
os.chdir("my_directory")
saved_path = os.getcwd()
print("Current work directory is " + saved_path)
os.getcwd()
#(2) for each file, rename filename
for file_name in file_list:
os.rename(file_name, file_name.translate(None, "0123456789"))
os.chdir("my_directory")
rename_files()
在此之后我发现了一个错误:
TypeError:translate()只接受一个参数(给定2个)
答案 0 :(得分:1)
str.translate
只接受一个参数,即转换表。
来自docs:
str.translate(table)
返回已映射每个字符的字符串的副本 通过给定的翻译
table
您可以使用str.maketrans
table = str.maketrans(dict.fromkeys('0123456789'))
file_name.translate(table)