我想将a.txt
更改为b.kml
。如何使用Python重命名文件
回答
使用os.rename
:
os.rename('a.txt', 'b.kml')
import shutil
shutil.move('a.txt', 'b.kml')
这将工作来重命名或移动文件。
'shutil.move'不是一个好因为不是原子操作。例如,如果该文件处于打开状态,'shutil.move'将创建一个带有'new_name'的文件,但不会使用'old_name'删除该文件,因此会留下两个文件。 'os.rename'另一方面什么都不会做,这是一个更好的选择。 使用'shutil.move',即使您发现错误,您仍然需要担心检查和删除流氓文件。 **当存在更好的工具时,就不值得:'os.rename' **。 – mvbentes 2017-09-20 17:37:48
os.rename(old, new)
这在Python文档中找到:http://docs.python.org/library/os.html
文件可能是一个目录内,在这种情况下,指定路径:
import os
old_file = os.path.join("directory", "a.txt")
new_file = os.path.join("directory", "b.kml")
os.rename(old_file, new_file)
你可以使用os.system来调用终端完成任务:
os.system('mv oldfile newfile')
只在一个基于Unix的机器上,对吧? – LarsH 2016-05-24 14:53:07
是的,这只适用于基于Unix的机器,因为'mv'是一个用于移动/重命名文件的unix内置命令行程序。 – 2016-11-20 18:42:55
为什么你会调用一个终端并定义一个只有UNIX的命令,当你可以通过python以多平台的方式完成时? – EndermanAPM 2017-03-29 11:34:21
从Python 3.4开始,可以使用pathlib模块来解决这个问题。
如果你刚好是在一个旧版本,你可以使用回迁版本发现here
让我们假设你是不是在根路径(只是为了增加一点难度吧)要重命名,并必须提供完整的路径,我们可以看看这个:
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
我们可以用一个简单的字符串操作进行修改我们:
new_file_name = "{}_{}".format(name_without_extension, 1)
现在我们可以通过调用执行我们的重命名我们创建的路径对象,并追加ext
上rename
方法来完成正确的命名结构,我们希望:
p.rename(Path(p.parent, new_file_name + ext))
更多不久将展示其简单:
from pathlib import Path
p = Path(some_path)
p.rename(Path(p.parent, "{}_{}".format(p.stem, 1) + p.ext))
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+
使用os.rename
。但是你必须将这两个文件的完整路径传递给该函数。如果我在我的桌面上有一个文件a.txt
,所以我会做,而且我也必须给予完整的重命名文件。
os.rename( 'C:\ Users \用户桌面\ A.TXT', 'C:\ Users \用户桌面\ b.kml')
- 1. 使用python重命名文件名
- 2. 如何用Python重命名文件?
- 3. 用Python重命名文件
- 4. 如何使用python重命名zip文件内的文件?
- 5. python文件被重命名,如何获得'重命名时间'
- 6. 如何使用java重命名文件
- 7. 如何使用Perl重命名文件
- 8. 如何使用wstring重命名文件?
- 9. 如何使用ajax重命名文件
- 10. 如何在python中使用文本文件重命名文件名
- 11. Python:如何在使用os重命名文件时保留文件扩展名?
- 12. 如何使用Python重命名运行顺序的JPG文件
- 13. 如何使用python重命名一堆文件?
- 14. 如何在python中用文件名重命名数据框?
- 15. 如何重命名文件?
- 16. 如何重命名文件?
- 17. 用Python重命名和移动文件
- 18. Python - 如何用DateTime重命名文本文件
- 19. Python:如何在python中重命名文件?
- 20. 如何使用vb6中的cmd命令重命名文件?
- 21. 如何使用sftp get命令重命名文件
- 22. 如何用python重命名Windows上的链接文件?
- 23. 在Python中重命名文件
- 24. 在Python中重命名文件夹
- 25. 在python中重新命名文件
- 26. 重命名Python中存在的文件
- 27. 在Python 2.7批量重命名文件
- 28. 如何在Windows XP上使用SAS重命名文本文件?
- 29. 文件命名,Python
- 30. 用filepicker.io重命名文件
不要忘记“import os” – Vladtn 2013-09-18 10:20:48
应该注意的是,如果文件不在工作目录中,您将需要完整的路径。 – EndermanAPM 2017-03-29 11:34:50