提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
一、基础函数的讲解
os.listdir() 方法
os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。 它不包括 . 和 … 即使它在文件夹中。 只支持在 Unix, Windows 下使用。 语法格式:filename = os.listdir(path) path – 需要列出的目录路径 返回指定路径下的文件和文件夹列表。
os.rename() 方法
os.rename() 方法用于命名文件或目录,从 src 到 dst,如果dst是一个存在的目录, 将抛出OSError。 语法格式:os.rename(src, dst) src – 要修改的目录名 dst – 修改后的目录名 该方法没有返回值。 需要注意的是:用os.rename()更改文件的名字后,文件就会从src路径变到dst路径中,且src中原来的文件消失,改名字后的文件存到了dst中。
zfill()方法
zfill() 方法返回指定长度的字符串,原字符串右对齐,前面填充0。 语法格式:str.zfill(width) width – 指定字符串的长度。原字符串右对齐,前面填充0。 返回指定长度的字符串。
os.path.splitext()方法
分割路径,返回路径名和文件扩展名的元组。 file= os.path.splitext(path) file为元组(‘文件名’,‘扩展名’) #例如一个为1.jpg的图片,file为(‘1’,‘.jpg’) filename = file[0] filetype = file[1] filename和filetype为str字符串。
二、代码
运行代码之前的文件:
import os
path = 'D:\\youxi\\文件夹3'
filelist = os.listdir(path) #将文件夹3下的所有文件的名字存入列表
count = 1
for file in filelist: #遍历列表查看所有的文件
print(file)
for file in filelist:
Olddir = os.path.join(path,file) #获得每个需要更改名字的文件
if os.path.isdir(Olddir):
continue
filename = os.path.splitext(file)[0] #获得文件的名字
filetype = os.path.splitext(file)[1] #获得文件的拓展名
Newdir = os.path.join(path,str(count).zfill(3)+filetype) #新文件的保存位置
os.rename(Olddir,Newdir) #改名
count +=1
运行结果: 运行代码之后的文件夹:
|