Python路徑操作
阿新 • • 發佈:2021-07-14
Python 路徑操作
3.4版本之前os.path模組
3.4版本之後pathlib.Path模組
from pathlib import Path p = path() p = p.joinpath('/data/app/app/sftp-password.txt') # 在當前目錄後拼接字串 # 路徑拼接 * joinpath * 操作符/ Path物件/Path物件 Path物件/字串 或者 字串/Path物件/Path物件 p = p / 'a' / 'b' # 路徑分解 parts屬性,元組方式返回路徑中的每一個部分 p.parts # 獲取父目錄 p.parent # 獲取除目錄最後一個部分外的所有路徑 list(p.parents) # 依次獲取父目錄級別 # 獲取目錄中最後一個部分 p.name # 獲取目錄中最後一個部分的副檔名 p.suffix # .jpg # 獲取目錄中最後一個部分,沒有副檔名 p.stem # 返回當前工作目錄 p.cwd() # 返回當前家目錄 p.home() # 是否是目錄 p.is_dir() # 是否是檔案 p.is_file() # 是否是socket檔案 p.is_socket() # 是否是絕對路徑 p.is_absolute() # 目錄或者檔案是否存在 p.exists() # 刪除空目錄,如果目錄不為空則報錯,pathlib沒有提供判斷目錄為空的方法 p.rmdir() # 建立檔案,建立的檔名即p物件的name p = Path('/tmp/mysql.tar.gz') p.touch(mode=0o666, exist_ok=True) # 檔名為/tmp/mysql.tar.gz p = Path('/tmp') p.joinpath('test.jpg').touch(mode=0o666, exist_ok=True) # 檔名為/tmp/test.jpg # 將路徑轉化成uri p.as_uri() # 返回'file:///data/app/app/test' # 建立目錄 p = p / 'test' / 'test01' / 'test02' p.mkdir(parents=True) # 父目錄不存在則建立 # 迭代當前目錄下 p.iterdir() # 萬用字元 p.glob('test*') # 返回生成器物件 # 匹配match p = Path('a/b.py') p.match('*.py')