我有許多文件標籤以字符串「example」開頭,並以一個數字(其中的順序很重要)結尾。我正在重命名所有文件(按順序),而不是按照example1,example2,example3,...,example150的順序讀取這些文件,它按照example1,example10,example100,example 101的順序讀取這些文件,例102,...,並重復這個過程。我怎樣才能改變它以順序讀取文件?謝謝!Python更改如何讀取編號的文件
回答
像這樣的東西?
n = .. # amount of files
for i in range(0, n) :
f = open("example" + str(i), "r")
# do something with your file
f.close()
完美無缺,正是我一直在尋找的。謝謝! – Code4Days 2014-12-07 20:17:39
files = ['example1.txt','example2.txt', 'example10.txt','example11.txt', 'example100.txt', 'example101.txt', 'example102.txt']
def sort_numericly(file_list,prefix,sufix):
new_file_list = []
for f in file_list:
f = f.strip(prefix).strip(sufix)
new_file_list.append(int(f))
return [prefix+ str(f) + sufixfor f in sorted(new_file_list)]
print sorted(files)
print sort_numericly(files,'example','.txt')
輸出:
['example1.txt', 'example10.txt', 'example100.txt', 'example101.txt', 'example102.txt', 'example11.txt', 'example2.txt']
['example1.txt', 'example2.txt', 'example10.txt', 'example11.txt', 'example100.txt', 'example101.txt', 'example102.txt']
排序採用了可用於設置分選鍵key
參數。對於你的問題,你可以擺脫所有的文字,然後用int()
把串入您的整數排序關鍵字:
for files in sorted(files,
key=lambda f: int(f.replace('example','').replace('.txt',''))):
# process the file
使用.strip()而不是替換;) – 2014-12-07 20:05:59
f.rodrigues是對的。你可以編寫'f.strip('example.txt')'而不是替換:-)。更清潔和更一般的解決方案是使用正則表達式:'import re; ... int(re.sub(r'\ D','',f))' – 2014-12-07 20:14:38
- 1. 如何根據文件編號在java中讀取文件?
- 2. 如何使用Python讀取utf-8編碼的文本文件
- 3. Python的編碼問題讀取文件
- 4. 如何從文本文件中讀取多個編號
- 5. 如何在Python中將文本日期更改爲編號?
- 6. 如何從編號的txt文件讀取? (data1.txt,data2.txt等)
- 7. 如何讀取python中的fasta文件?
- 8. 如何讀取/更改Python中的bencoded文件中的祕密值3
- 9. 如何更改所有文件名中的編號?
- 10. 如何更改有序文件的編號?
- 11. 讀取外部文件並等待Python中的更改
- 12. 如何讓python識別讀取預編譯的共享文件?
- 13. 如何在使用Python讀取CSV文件時轉義逗號?
- 14. 如何從文件中讀取一行給定其編號?
- 15. 如何更改Python編寫的KA lite的設置文件
- 16. 如何使用python更快地讀取文件中的多行?
- 17. 如何監視Python文件的更改?
- 18. python文件讀取
- 19. Python文件讀取
- 20. 讀取文件 - python?
- 21. 如何讀取動態更改的文件
- 22. 如何更改我的c#代碼以從文件中讀取?
- 23. 如何僅從已更改的文件描述符中讀取
- 24. 如何更改/ var文件夾中的讀取寫入權限
- 25. 如何更改Maven讀取Cucumber特徵文件的位置?
- 26. 如何更改文本文件編碼?
- 27. 如何更改python文件的默認編輯器?
- 28. python如何讀取塊結構文件
- 29. 如何在Python中讀取CSV文件?
- 30. 如何使用Python讀取此文件?
兩種選擇:重命名文件有領先的數字0(example000,example001等) ,或者修改你的排序以數字排序名稱而不是詞法排序。如果您想要特定的幫助,請發佈特定的代碼。 – 2014-12-07 19:41:53