我想把a.txt改为b.kml。
当前回答
使用os.rename:
import os
os.rename('a.txt', 'b.kml')
用法:
os.rename('from.extension.whatever','to.another.extension')
其他回答
这里需要注意的一点是,我们应该检查是否存在具有新文件名的文件。
假设b.kml文件存在,那么重命名其他具有相同文件名的文件会导致删除现有的b.kml。
import os
if not os.path.exists('b.kml'):
os.rename('a.txt','b.kml')
你可以使用os。系统调用终端来完成任务:
os.system('mv oldfile newfile')
使用os.rename。但是你必须把两个文件的完整路径传递给函数。如果我的桌面上有一个。txt文件那么我就会这样做,而且我也必须给出一个完整的重命名文件。
os.rename('C:\\Users\\Desktop\\a.txt', 'C:\\Users\\Desktop\\b.kml')
从Python 3.3及更高版本开始,通常首选使用os。Replace而不是os。如果目标文件已经存在,则不会引发FileExistsError。
assert os.path.isfile('old.txt')
assert os.path.isfile('new.txt')
os.rename('old.txt', 'new.txt')
# Raises FileExistsError
os.replace('old.txt', 'new.txt')
# Does not raise exception
assert not os.path.isfile('old.txt')
assert os.path.isfile('new.txt')
请参见文档。
import os
# Set the path
path = 'a\\b\\c'
# save current working directory
saved_cwd = os.getcwd()
# change your cwd to the directory which contains files
os.chdir(path)
os.rename('a.txt', 'b.klm')
# moving back to the directory you were in
os.chdir(saved_cwd)