獲取檔案下的資料夾和檔案—— os.listdir 與 glob.glob
阿新 • • 發佈:2021-06-17
os.listdir 與 glob.glob
os.listdir : 獲取資料夾下,檔案及資料夾名稱
glob.glob : 獲取資料夾下,符合萬用字元的檔案及資料夾的路徑
注意:不要在末尾加 \
,資料夾引數就到資料夾,不用加\
,檔案萬用字元,也不用加 \
In [18]: e = os.listdir(r'C:\Users\WangLin\Desktop\EL_gitee\el_app\src\plugins_contrib') In [19]: e Out[19]: ['example_plugin.py_', 'readme.md', 'save_image_local.py', '__pycache__'] In [20]: f = glob.glob(r'C:\Users\WangLin\Desktop\EL_gitee\el_app\src\plugins_contrib\*.py') In [21]: f Out[21]: ['C:\\Users\\WangLin\\Desktop\\EL_gitee\\el_app\\src\\plugins_contrib\\save_image_local.py'] In [22]: g = glob.glob(r'C:\Users\WangLin\Desktop\EL_gitee\el_app\src\plugins_contrib') In [23]: g Out[23]: ['C:\\Users\\WangLin\\Desktop\\EL_gitee\\el_app\\src\\plugins_contrib'] In [24]: g = glob.glob(r'C:\Users\WangLin\Desktop\EL_gitee\el_app\src\plugins_contrib\') File "<ipython-input-24-98367c42a61e>", line 1 g = glob.glob(r'C:\Users\WangLin\Desktop\EL_gitee\el_app\src\plugins_contrib\') ^ SyntaxError: EOL while scanning string literal In [25]: g = glob.glob(r'C:\Users\WangLin\Desktop\EL_gitee\el_app\src\plugins_contrib\*') In [26]: g Out[26]: ['C:\\Users\\WangLin\\Desktop\\EL_gitee\\el_app\\src\\plugins_contrib\\example_plugin.py_', 'C:\\Users\\WangLin\\Desktop\\EL_gitee\\el_app\\src\\plugins_contrib\\readme.md', 'C:\\Users\\WangLin\\Desktop\\EL_gitee\\el_app\\src\\plugins_contrib\\save_image_local.py', 'C:\\Users\\WangLin\\Desktop\\EL_gitee\\el_app\\src\\plugins_contrib\\__pycache__'] In [27]: e = os.listdir(r'C:\Users\WangLin\Desktop\EL_gitee\el_app\src\plugins_contrib\') File "<ipython-input-27-abaf4f380364>", line 1 e = os.listdir(r'C:\Users\WangLin\Desktop\EL_gitee\el_app\src\plugins_contrib\') ^ SyntaxError: EOL while scanning string literal
# glob.iglob() 函式
# 獲取一個可遍歷物件,使用它可以逐個獲取匹配的檔案路徑名。
# 與glob.glob()的區別是:glob.glob()可同時獲取所有的匹配路徑,而glob.iglob()一次只能獲取一個匹配路徑。
import glob
# 父目錄中的.py檔案
f = glob.iglob(r'../*.py')
print(f) # generator object iglob as 0x00B9FF80
for py in f:
print(py)