Pythonファイルとパス操作アーティファクト:pathlib

pathlibPurePathandクラスは前者にカプセル化され、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_bytesread_textwrite_byteswrite_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() サフィックス

おすすめ

転載: blog.csdn.net/m0_37816922/article/details/123715364