Rumah > Artikel > pembangunan bahagian belakang > Cara menggunakan pustaka pathlib modul sistem fail Python
pathlib ialah pustaka terbina dalam Python Definisi yang diberikan oleh dokumentasi Python ialah laluan sistem fail berorientasikan objek. pathlib menyediakan kelas yang mewakili laluan sistem fail, dengan semantik yang boleh digunakan untuk sistem pengendalian yang berbeza.
Kelas laluan dibahagikan antara laluan tulen, yang menyediakan operasi pengiraan tulen tanpa I/O dan laluan konkrit, yang mewarisi laluan tulen tetapi turut menyediakan operasi I/O.
Laluan.iterdir() # Lintas subdirektori direktori atau Fail
Path.is_dir() # Tentukan sama ada ia adalah direktori
Path.glob () # Direktori penapis (penjana pulangan)
Laluan.selesaikan() # Kembalikan laluan mutlak
Laluan .wujud() # Tentukan sama ada laluan itu wujud
Laluan.buka() # Buka fail (menyokong dengan)
Laluan.nyahpaut() # Padam fail atau direktori (direktori tidak kosong dan mencetuskan pengecualian)
Laluan.bahagian # Laluan pisah adalah serupa dengan os.path.split(), tetapi mengembalikan tuple
Path. drive # Kembalikan nama pemacu
Path.root # Kembalikan direktori root laluan
Laluan.sauh # Tentukan dan kembalikan pemacu atau akar secara automatik
Laluan.ibu bapa # Kembali senarai semua direktori induk
Laluan.dengan_nama() # Tukar nama laluan. , tukar nama laluan peringkat terakhir
Laluan.dengan_akhiran() # Tukar akhiran laluan
Path.joinpath() # Join path
Path.relative_to() # Kira laluan relatif
Laluan.padanan() # Uji sama ada laluan itu sepadan dengan corak
Path.is_dir () # Sama ada ia adalah fail
Path.is_absolute( ! Laluan.
wujud6 Kaedah lain
Laluan.cwd() # Kembalikan objek laluan direktori semasa
Laluan.
statLaluan.
chmodLaluan.
pengembangLaluan.
mkdirLaluan.
namakan semulaPath.
rglob3 Perbezaan antara os dan pathlib. Laluan
1. Dapatkan laluan fail semasaApabila menggunakan modul os, anda boleh terus mendapatkan laluan fail semasa melalui kaedah
import os print(os.getcwd()) # C:\Users\bobin.yang\PycharmProjects\untitled print(os.path.dirname(__file__)) # C:/Users/bobin.yang/PycharmProjects/untitled
Dalam modul pathlib, laluan fail semasa boleh diperolehi terus melalui Kaedah
Kita boleh mencubanya :import pathlib print(pathlib.Path.cwd()) # C:\Users\bobin.yang\PycharmProjects\untitled
Klik untuk melihat pengenalan terperinci kaedah ini. getcwd()
hanyalah enkapsulasi kaedah os.path.dirname(__file__)
dalam perpustakaan os Ia kelihatan lebih teruk, tetapi pelancaran rasminya pastinya bukan fiksyen mari sama-sama kita ketahui.
2. Dapatkan direktori atas/atas Path.cwd()
ctrl+鼠标左键
Dalam modul os, jika kita ingin mendapatkan direktori induk fail, modul os ditulis sebagai:
import os print(os.path.dirname(os.path.dirname(os.getcwd()))) # C:\PycharmProjects
Dalam perpustakaan pathlib, ia boleh dicapai dengan cara mudah ini : cwd()
import pathlib print(pathlib.Path.cwd().parent) # C:\PycharmProjects
getcwd()
Dan jika anda perlu mencari datuknya, minta seorang lagi . Berbanding dengan 3. Penyambungan laluan
Jika anda ingin menyambung laluan dalam direktori induknya, melalui modul os anda mungkin perlu menulis rentetan kod yang begitu panjang:
import os print(os.path.join(os.path.dirname(os.getcwd()), '路径拼接', '真麻烦')) # C:\PycharmProjects\路径拼接\真麻烦
Apabila anda menggunakan pathlib, mari kita rasai kemudahannya bersama-sama!
# /Users/mac/test.py import os paths = ('路径拼接', '真麻烦') print(pathlib.Path.cwd().parent.joinpath(*paths)) # C:\PycharmProjects\路径拼接\真麻烦
通过 pathlib 库拼接路径,你可以很方便的调节他在他祖辈的位置,妙哉。
pathlib 封装了很多的 os.path 中的方法,如下所示:
os.path.expanduser() --> pathlib.Path.home()
os.path.expanduser() --> pathlib.Path.expanduser()
os.stat() --> pathlib.Path.stat()
os.chmod() --> pathlib.Path.chmod()
上一节的操作大部分都是通过 pathlib 库中的 Path 实现,其实他还有一个更加高大上的模块,也就是我们这一节的主角:pathlib.PurePath
。
PurePath 是一个纯路径对象,纯路径对象提供了实际上不访问文件系统的路径处理操作。
有三种方法可以访问这些类,我们也称之为 flavor 。
下面让我们来实现一个神奇的功能,判断当前的路径下是否有符合'*.py'规则的文件。
import pathlib print(pathlib.PurePath(__file__).match('*.py')) # True
输出为什么会是 True
呢?因为当前文件夹下不就有一个 test.py
吗?
看见 pathlib.PurePath 后面跟着 match,那是不是能说明他是个对象,而不是一个单纯的路径字符串,因此我们可以试着打印 pathlib.PurePath 看一看。
import pathlib os_path = os.path.dirname(__file__) print(os_path) # C:/PycharmProjects/untitled pure_path = pathlib.PurePath(__file__) print(pure_path) # C:\PycharmProjects\untitled\run.py print(type(pure_path)) # <class 'pathlib.PureWindowsPath'> print(pathlib.PurePath(__file__).match('*.py')) # True
通过打印 os.path 获取当前路径的结果,得到一个路径字符串;而通过 pathlib.PurePath 则获得了一个 PurePosixPath 对象,并且由此得到的路径包括了当前文件 run.py。
Atas ialah kandungan terperinci Cara menggunakan pustaka pathlib modul sistem fail Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!