我想把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.chdir (r D: \ Folder1 \ Folder2) os.rename (src, dst) #src和dst应该在Folder2中
从Python 3.4开始,可以使用pathlib模块来解决这个问题。
如果您使用的是旧版本,则可以使用这里提供的反向移植版本
让我们假设你不是在根路径(只是增加一点难度),你想重命名,并必须提供一个完整的路径,我们可以看看:
some_path = 'a/b/c/the_file.extension'
所以,你可以用你的路径创建一个path对象:
from pathlib import Path
p = Path(some_path)
为了提供一些关于这个物体的信息,我们可以从中提取一些东西。例如,如果出于某种原因,我们想通过将文件名从the_file修改为the_file_1来重命名文件,那么我们可以得到文件名部分:
name_without_extension = p.stem
并且仍然握着分机:
ext = p.suffix
我们可以通过简单的字符串操作来执行修改:
Python 3.6及更高版本使用f-strings!
new_file_name = f"{name_without_extension}_1"
否则:
new_file_name = "{}_{}".format(name_without_extension, 1)
现在我们可以对创建的path对象调用rename方法并附加ext来执行重命名,以完成我们想要的正确重命名结构:
p.rename(Path(p.parent, new_file_name + ext))
更简单地展示它的简单性:
Python 3.6 +:
from pathlib import Path
p = Path(some_path)
p.rename(Path(p.parent, f"{p.stem}_1_{p.suffix}"))
Python 3.6以下的版本使用字符串格式方法:
from pathlib import Path
p = Path(some_path)
p.rename(Path(p.parent, "{}_{}_{}".format(p.stem, 1, p.suffix))
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)
使用Pathlib库的路径。用Rename代替os.rename:
import pathlib
original_path = pathlib.Path('a.txt')
new_path = original_path.rename('b.kml')
推荐文章
- Python中exit(0)和exit(1)的区别
- 从URL中获取参数
- 在python中插入一个列表到另一个列表的语法是什么?
- Python中的最大浮点数是多少?
- 将一个列表分成大约相等长度的N个部分
- Python __str__与__unicode__
- 在python中,del和delattr哪个更好?
- 如何动态加载Python类
- 有没有办法在python中做HTTP PUT
- “foo Is None”和“foo == None”之间有什么区别吗?
- 类没有对象成员
- Django模型“没有显式声明app_label”
- 熊猫能自动从CSV文件中读取日期吗?
- 在python中zip的逆函数是什么?
- 有效的方法应用多个过滤器的熊猫数据框架或系列