我想把a.txt改为b.kml。


当前回答

文件可能在目录中,在这种情况下指定路径:

import os
old_file = os.path.join("directory", "a.txt")
new_file = os.path.join("directory", "b.kml")
os.rename(old_file, new_file)

其他回答

这里需要注意的一点是,我们应该检查是否存在具有新文件名的文件。

假设b.kml文件存在,那么重命名其他具有相同文件名的文件会导致删除现有的b.kml。

import os

if not os.path.exists('b.kml'):
    os.rename('a.txt','b.kml')

文件可能在目录中,在这种情况下指定路径:

import os
old_file = os.path.join("directory", "a.txt")
new_file = os.path.join("directory", "b.kml")
os.rename(old_file, new_file)
import shutil

shutil.move('a.txt', '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 shutil
import os

files = os.listdir("./pics/") 

for key in range(0, len(files)):
   print files[key]
   shutil.move("./pics/" + files[key],"./pics/img" + str(key) + ".jpeg")

这个应该可以了。python 3 +