上周應別人要求,使用python批量修改文件名稱。
文件名有規律,當時就用了一個函數直接精確的用文件名替換了。后來想直接可以用listdir來遍歷每個文件來修改更加通用一些。
但是看了os.listdir發現,它的輸出結果並不是按照某種特定順序來的,這樣輸出就不是固定的。
繼續找資料,發現os.listdir的結果就是一個list集,可以使用list的sort方法來排序。如果文件名中有數字,就用數字的排序,下面貼一下簡單的示例代碼:
文件名有規律,當時就用了一個函數直接精確的用文件名替換了。后來想直接可以用listdir來遍歷每個文件來修改更加通用一些。
但是看了os.listdir發現,它的輸出結果並不是按照某種特定順序來的,這樣輸出就不是固定的。
繼續找資料,發現os.listdir的結果就是一個list集,可以使用list的sort方法來排序。如果文件名中有數字,就用數字的排序,下面貼一下簡單的示例代碼:
files=os.listdir(".") files.sort() print files ['1.txt', '10.txt', '11.txt', '2.txt', '3.txt']
files.sort(key= lambda x:int(x[:-4])) print files ['1.txt', '2.txt', '3.txt', '10.txt', '11.txt']