1. 程式人生 > 其它 >Python路徑操作

Python路徑操作

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')