pathlib
PurePath
andクラスは前者にカプセル化され、Path
前者はパススタイルの文字列を処理するために使用されます。後者は前者のサブクラスであり、パスを直接処理できます。
PurePath
最も優れた機能は、演算子のオーバーロードであり、次のようなことを実現できます。
>>> from pathlib import Path, PurePath
>>> pp = PurePath("E:/")
>>> pp
PureWindowsPath('E:/')
>>> pp/"test"
PureWindowsPath('E:/test')
オブジェクトの場合PurePath
、次のメンバーまたはメンバー関数を呼び出すことができます
部 | drive [ドライブ文字]、root [ルートパス]、anchor [ドライブ文字+ルートパス]、parent [親パス]、parents [すべての親パス]、name [ファイル名] suffix [ファイル拡張子]、suffixes [すべてのファイル拡張子]、stem [メインファイル名] |
解体 | parts [スプリット]、joinpath [スプライス] |
交換 | with_name [ファイル名]、with_suffix [サフィックス]、with_stem [メインファイル名] |
スタイル転送 | as_posix() 、as_uri() |
審判 | is_absolute 、、is_relative_to _is_reserved |
その中で、メインファイル名はサフィックスを削除した後のファイル名です。
PurePath
クラスには、もう少し複雑な関数もあります。
>>> pp = PurePath("E:\Code\test.py")
# 用于匹配文件后缀
>>> pp.match("*.py")
True
# 去除基准路径
>>> pp.relative_to("E:\\")
PureWindowsPath('Code\test.py')
# 更改文件名
>>> pp.with_name('test1.py')
PureWindowsPath('E:/test1.py')
# 更改后缀名
>>> pp.with_suffix(".md")
PureWindowsPath('E:/Code\test.md')
# 更改主文件名
>>> pp.with_stem("help.md")
PureWindowsPath('E:/help.md.py')
道
パスはPurePathのサブクラスであり、PurePath
これに基づいていくつかの判断関数が追加されます。
決定機能 | is_dir 、、、、、、、、、is_file _ is_fifo _ is_block_device _ is_char_device _ is_mount _ is_symlink _is_socket |
Path
オブジェクトを開いたり書き込んだりすることもできますが、close
関数がないことを願っています。そのため、お勧めしません。言い換えると、これPath.open
はプログラマーが使用するものとは異なります。これは、、、および、Path
の読み取りと書き込みのより便利な方法を提供するためです。read_bytes
read_text
write_bytes
write_text
例えば
>>> p = Path(r'E:\Documents\00\0324\Test.txt')
>>> p.write_text("hello world")
11
>>> p.read_text()
'hello world'
>>>
さらに、ファイルやフォルダを直接操作するために使用できるため、非常に強力なファイル処理機能を提供します。で提供され、機能的に対応する機能は次のPath
とおりです。os
os. |
pathlib |
関数 |
---|---|---|
chmod() | chmod() | ファイルのプロパティを変更する |
mkdir() os.makedirs() |
mkdir() | 新しいフォルダ |
rename() | rename() | 名前を変更 |
交換() | 交換() | 名前を変更し、新しい名前がすでに存在する場合は上書きします |
rmdir() | rmdir() | フォルダを削除 |
remove() unlink() |
unlink() | ファイルを削除する |
getcwd() | Path.cwd() | 現在のパス |
path.abspath() | 解決() | 絶対パス |
path.expanduser() | Expanduser() home() |
システム/ユーザーパス |
listdir() | iterdir() | すべてのサブパスを一覧表示 |
path.exists() | 存在する() | パスが存在するかどうかを確認します |
path.isdir() | is_dir() | パスがディレクトリかどうかを判断する |
path.isfile() | is_file() | パスがファイルかどうかを確認します |
path.islink() | is_symlink() | パスがリンクであるかどうかを判断する |
path.isabs() | is_absolute() | パスが絶対パスであるかどうかを確認します |
リンク() | hardlink_to() | リンクファイル |
シンボリックリンク() | symlink_to() | リンクファイル |
readlink() | readlink() | 接続を読み取る |
path.join() | joinpath() | 接続パス |
path.samefile() | samefile() | パスが同じかどうかを確認します |
path.basename() | 名前 | |
path.dirname() | 親 | |
path.splitext() | サフィックス |