1. 程式人生 > 其它 >python函式---sort、listdir

python函式---sort、listdir

技術標籤:python基礎

sort() 函式用於對原列表進行排序。

語法格式:
list.sort(cmp=None, key=None, reverse=False)
cmp – 可選引數, 如果指定了該引數會使用該引數的方法進行排序。
key – 用來進行比較的元素,只有一個引數,具體的函式的引數就是取自於可迭代物件中,指定可迭代物件中的一個元素來進行排序。
reverse – 排序規則, reverse = False 升序(預設),reverse = True 降序。

os.listdir(path)
path是個路徑,如果路徑寫到一級目錄,則**print(os.listdir(path))**讀取該一級目錄下的所有檔案。例如:見(1)讀取一級目錄下的檔案。如果路徑寫到二級目錄,則讀取二級目錄下的所有檔案,例如:見(2)讀取二級目錄下的檔案。

**總結:**listdir()函式,就是讀取具體目錄下的所有檔案,你寫到幾級目錄就讀那級目錄下的所有檔案。
舉例:
現有檔案目錄結構如下:a資料夾和2.py同級,a資料夾下有:pristine_images資料夾和兩個pdf檔案。而pristine_images資料夾下有5張圖片。
在這裡插入圖片描述

檔案2.py裡程式碼如下:
(1)讀取一級目錄下的檔案

import os
path = 'a'    #a資料夾裡有多個檔案
b=os.listdir(path)   
print(b)

執行結果:
['hello.pdf', 'hi.pdf', 'pristine_images']

修改2.py 程式碼:

(2)讀取二級目錄下的檔案。

#第一種寫法:
import os
path='a/'   #如果下文用到路徑拼接,資料夾後面一定要打/,否則會報錯!!!
pristine = 'pristine_images'
b=os.listdir(path+pristine)  #路徑拼接
print(b)

#第二種寫法:
import os
path = 'a/pristine_images'  #一次到位,不用拼接
b=os.listdir(path)
print(b)

兩種寫法,執行結果一樣:
['00001.bmp', '00002.bmp', '00003.bmp', '00004.bmp', '00005.bmp']