Pythonの標準ライブラリPathlibはディレクトリとファイルを操作する
Pythonを学習していると、特にファイル操作やデータ操作をするときに、パスを扱うことが多くなります。最もよく使われ、一般的なのは os.path モジュールで、これはパスを文字列として扱うため、適切に使用しないと検出できないエラーになり、プラットフォームを超えてコードを再利用することが難しくなります。
pathlib
は、Pythonの標準ライブラリで、超よく動きます。
pathlib
モジュールは Linux や Windows のような POSIX システムでうまく動作する高レベルの抽象化を提供し、リソースパスとリソースの名前付け構造を抽象化し、ファイルシステムのインターフェイスを os モジュールから分離し、オペレーションを
method
というように、よりシンプルに使うことができます。
以下は、それを完全に説明する図です。
pathlib
の中心で
<イグ
pathlib 基本コンポーネント
>>> from pathlib import Path
>>> path = Path(r'C:/Users/Miguel/projects/blog/config.tar.gz')
>>> path.drive
'C:'
>>> path.root
'/'
>>> path.root
'C:/'
>>> path.parent
WindowsPath('C:/Users/Miguel/projects/blog')
>>> path.name
'config.tar.gz'
>>> path.stem
'config.tar'
>>> path.suffix
'.gz'
>>> path.suffixes
['.tar', '.gz']
共通属性と基本メソッド
pathlib
の共通属性は
Path.parents # Returns a list of all parent directories
Path.parts # split paths similar to os.path.split(), but returns a tuple
Path.suffix # Returns file suffixes
pathlib
の共通基本メソッド。
Path.is_dir() # Determine if it is a directory
Path.is_file() # if it is a file
Path.exists() # Determine if the path exists
Path.open() # Open a file (with support)
Path.resolve() # Return the absolute path
Path.cwd() # return the current directory
Path.iterdir() # Iterate through subdirectories or files of a directory
Path.mkdir() # Create a directory
Path.rename() # Rename a path
Path.unlink() # Delete a file or directory (exception is thrown if the directory is not empty)
Path.joinpath() # Splice paths
os と os.path VS pathlib
pathlib
os と os.path を置き換えることができる共通の関数です。
<イグ
概要
pathlib
パスをオブジェクトとして作成し、ファイルパスの便利で高速な処理方法を提供します。
この記事では
pathlib
一番大事なことは、pathlibの基本的な構成要素を十分に理解し、あとは疑問があればドキュメントを調べればいいということだと思います。
参考にしてください。
https://miguendes.me/python-pathlib https://docs.python.org/3/library/pathlib.html
https://www.cnblogs.com/poloyy/p/12435628.html
以上、ディレクトリやファイルを操作するためのPython標準ライブラリpathlibの詳細について説明しました。ディレクトリやファイルを操作するpathlibライブラリの詳細については、スクリプトハウスの他の関連記事を参照してください!
関連
-
[解決済み】Python - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].
-
[解決済み】Python名'os'が定義されていません【重複
-
[解決済み] Python 3 の処理エラー TypeError: BaseException を継承しないクラスのキャッチは許可されていません。
-
[解決済み] tkinterで円を描くより簡単な方法?
-
[解決済み] djangoのフォームにチェックボックスを挿入する方法
-
[解決済み] インポートエラーです。djangoという名前のモジュールがありません
-
[解決済み] バインドパラメーター 0 のエラー: おそらくサポートされていないタイプです。
-
[解決済み] なぜ1-0.9は0.1ではないのですか?[重複]
-
[解決済み] Django ImproperlyConfigured: SECRET_KEY 設定は空であってはいけません。
-
ansible がホスト情報を取得し、mysql データベースに保存する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PythonによるExcelファイルの一括操作の説明
-
[解決済み】setオブジェクトがJSONシリアライザブルでない【重複あり
-
[解決済み】Python throws ValueError: list.remove(x): xがリストにない。
-
[解決済み] 辞書で「TypeError: 'unicode' object does not support item assignment」が発生する。
-
[解決済み] Python3、eval()に代わる最良の選択肢は?(式としての入力)
-
[解決済み] Python 3 で MP3 を読み込む
-
[解決済み] Pythonスクリプトの出力ウィンドウを開いたままにするには?
-
[解決済み] Python Tkinterのルートウィンドウを消すにはどうしたらいいですか?
-
XXX型のオブジェクトがJSONシリアライズ可能でない問題を解決する
-
pythonで確率による乱数生成