python批量修改文件名
要点:
- 文件名获取
- 文件名后缀按照规定字符
'.'
分割 - 文件重命名: 字符串与数字的连接
代码如下,其后有二次更新的源码,更为方便
#encoding=gbk
import os
def main (path):
filename_list = os.listdir(path)
"""os.listdir(path) 扫描路径的文件,将文件名存入存入列表"""
a = 0
for i in filename_list:
used_name = path + filename_list[a]
new_name = path + str(a) + used_name[used_name.index('.'):] # 保留原后缀
os.rename(used_name, new_name)
print("文件%s重命名成功,新的文件名为%s" %(used_name,new_name))
a += 1
if __name__=='__main__':
path="C:/Users/HeBin/Pictures/Screenshots/" # 目标路径
main(path)
再次更新:获取当前路径文件名,并批量修改
import os
def re_fileName(path):
fileList = os.listdir(path)
num=1
for file in fileList:
used_fileName,extension = os.path.splitext(file)
new_file = str(num)+extension;
os.rename(file, new_file)
print("文件%s重命名成功,新的文件名为:%s" %(path+file, path+new_file))
num += 1
if __name__=='__main__':
# path="C:/Users/Administrator/Desktop/old/" # 目标路径
# path = "C:\\Users\\Administrator\\Desktop\\old\\" # 目标路径
path = os.getcwd() # 获取当前目录
re_fileName(path)
python批量获取文件名,保存在文本中
import os
def new_file(file_dir):
"""新建文件,并填充内容,用于测试"""
for i in range(1, 6):
with open("文件%d.txt" %i, "w") as fout:
fout.write("这是文件%d的内容" %i)
def get_filePath_fileName_fileExt(fileUrl):
"""
param fileUrl
return 文件路径,文件名,后缀名
"""
filepath, file = os.path.split(fileUrl)
filename, extension = os.path.splitext(file)
return filepath, filename, extension
def get_fileName(file_dir):
"""获取文件名,并保存到文本中"""
for root, dirs, files in os.walk(file_dir):
#print(root) #当前目录路径
#print(dirs) #当前路径下所有子目录
#print(files) #当前路径下所有非目录子文件
with open("文件名.txt", "w") as fout:
for file in files:
file = os.path.splitext(file)[0]
print(file)
fout.write(str(file)+'\n')
path = os.getcwd() # 获取当前目录
new_file(path) # 新建文件
get_fileName(path) # 获取文件名