我想將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重命名文件
- 5. 重命名文件使用Python
- 6. python文件被重命名,如何獲得'重命名時間'
- 7. 如何使用java重命名文件
- 8. 如何使用ajax重命名文件
- 9. 如何使用Node.js重命名文件
- 10. 如何使用wstring重命名文件?
- 11. 如何使用Perl重命名文件
- 12. 如何使用R重命名文件?
- 13. 如何使用os.walk()重命名文件?
- 14. 如何在python中使用文本文件重命名文件名
- 15. Python的文件重命名
- 16. Python:如何在使用os重命名文件時保留文件擴展名?
- 17. 如何使用Python重命名運行順序的JPG文件
- 18. 如何使用python重命名一堆文件?
- 19. 如何使用python腳本重命名文件?
- 20. 如何在python中用文件名重命名數據框?
- 21. 如何重命名文件?
- 22. 如何重命名文件?
- 23. 用Python遞歸重命名文件
- 24. 用Python重命名和移動文件
- 25. Python - 如何用DateTime重命名文本文件
- 26. 使用Python重命名文件,基於輸入文件
- 27. 使用python上傳sftp文件 - 避免文件重命名
- 28. 重命名文件使用MATLAB命令
- 29. 文件名使用.bat重命名?
- 30. 如何用qmake INSTALLS重命名文件
不要忘記「import os」 – Vladtn 2013-09-18 10:20:48
應該注意的是,如果文件不在工作目錄中,您將需要完整的路徑。 – EndermanAPM 2017-03-29 11:34:50