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


当前回答

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 +

其他回答

从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')

请参见文档。

使用os.rename。但是你必须把两个文件的完整路径传递给函数。如果我的桌面上有一个。txt文件那么我就会这样做,而且我也必须给出一个完整的重命名文件。

os.rename('C:\\Users\\Desktop\\a.txt', 'C:\\Users\\Desktop\\b.kml')
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 +

使用Pathlib库的路径。用Rename代替os.rename:

import pathlib

original_path = pathlib.Path('a.txt')
new_path = original_path.rename('b.kml')

操作系统。重命名(旧的,新的)

这可以在Python文档中找到:http://docs.python.org/library/os.html