我想使用Python來命名其包含的值,如文件名重命名文件名:~test1~test2~filename.csv
提取值/ Python中
我要重命名的文件filename.csv。撇號是前兩個單詞的分隔符,我不想讓這些單詞出現在我的結局文件名中。這些詞是變數。任何援助將不勝感激。謝謝!
我想使用Python來命名其包含的值,如文件名重命名文件名:~test1~test2~filename.csv
提取值/ Python中
我要重命名的文件filename.csv。撇號是前兩個單詞的分隔符,我不想讓這些單詞出現在我的結局文件名中。這些詞是變數。任何援助將不勝感激。謝謝!
由於每個文件名稱的單詞更改最好在目錄中搜索匹配模式的文件。 glob
是爲你做的。
如果你有一個這樣的目錄:
.
├── ~a~b~c.csv
├── file.csv
├── ~foo~bar~f1.csv
└── hello.txt
然後運行以下命令:
import os, glob
for f in glob.glob('~*~*~*.csv'):
os.rename(f,f.split('~')[-1])
會給你:
.
├── c.csv
├── f1.csv
├── file.csv
└── hello.txt
很好的答案。與我的建議相比,更通用。 –
非常有幫助......非常感謝你! – user1801715
import os
myfilename = "~test1~test2~filename.csv"
for filename in os.listdir("."):
if filename == myfilename:
myfilename_new = myfilename.split("~")[-1]
os.rename(filename, myfilename_new)
當然假設你的原始文件~test1~test2~filename.csv
存在於這個python腳本運行的「當前/同一目錄」中。
希望這可以幫助你在你的學習之旅!
歡迎來到Python!
非常有幫助,非常感謝你的幫助 – user1801715
我是相當新的Python所以我想學習正則表達式,分割/聯合提取。我可以對直接文件名進行重命名,但是我試圖根據單詞一致模式/字符提取文件名,以提取我需要的內容。 – user1801715
我已經與.rename一起完成了glob,但是沒有考慮到通配符。 – user1801715
將這些信息包含在自己的問題中通常很有幫助,通常使用您嘗試的確切代碼。它向人們表明,在發佈問題之前,你已經花時間嘗試自己,並且讓他們從哪裏尋找問題或困惑的來源。只是一個友好的提示。 – yarian