os模块的函数rename()可以对文件或者目录进行重命名。
下面演示文件重命名操作。
如果当前目录存在名为myfile.txt的文件,则重命名为myfile_rename.txt.
import os
li = os.listdir(".") #返回当前目录的文件列表
print li #打印出当前目录包含的文件
if myfile.txt in li:
os.rename("myfile.txt", "myfile_rename.txt")
上面例子中是修改文件名,但是文件还是统一类型, 文件的后缀名没变,有的时候需要将一种类型的文件改成另一种类型的文件这是就得利用rename()和字符串查找的函数。
示例如下:将后缀名为“html”格式的文件改成“htm”格式的文件
import os
files = os.listdir(".")
for filename in files:
pos = filename.find(".")
if filename[pos+1:] == "html" :
newname = filename[:pos+1] +"htm"
os.rename(filename, newname)
以上过程还可以通过splitext()来实现,splitext()用于将文件名和后缀名分隔开。
import os
files = os.listdir(".")
for filename in files :
li = os.path.splitext(filename) #返回文件名和后缀名组成的列表
if li[1] == "html":
newname = li[0] + "htm"
os.rename(filename, newname)
路径的匹配可以使用glob模块,返回符合给定匹配条件的文件列表。例如上面的例子需要判断文件后缀是否是“html”类型,可以使用glob()直接进行匹配: glob.glob(“*.html”)
阅读(4343) | 评论(3) | 转发(1) |