Python 3.5.1: Change file name()

本文介绍了的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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()
上面的代码应该通过删除文件名中的所有数字来重命名位于特定文件夹中的每个文件,但没有任何更改。有谁能帮忙吗?谢谢。

推荐答案

删除文件名中的所有数字

如果要删除所有数字,为什么还需要断言:(?!d*$)

当您只需执行以下操作时:

os.rename(file_name, re.sub("[0-9]", "", file_name))

您做错了:

os.rename(file-name, re.sub("[0-9](?!d*$)", "", file_name))
#             ^

这篇关于的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:

基础教程推荐