Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan modul glob untuk padanan corak fail dalam Python 2.x

Cara menggunakan modul glob untuk padanan corak fail dalam Python 2.x

PHPz
PHPzasal
2023-07-30 15:24:421119semak imbas

Python ialah bahasa pengaturcaraan berkuasa yang digunakan secara meluas dalam analisis data, pembangunan web dan bidang lain. Dalam operasi fail, selalunya perlu untuk memadankan nama fail atau laluan fail berdasarkan corak tertentu. Python menyediakan modul glob untuk pemadanan corak fail Artikel ini akan memperkenalkan cara menggunakan modul glob untuk pemadanan corak fail dalam Python 2.x.

Modul glob adalah sebahagian daripada perpustakaan standard Python dan boleh digunakan tanpa pemasangan tambahan. Ia menyediakan kaedah carian fail dan folder berdasarkan rentetan corak dan mengembalikan senarai fail atau folder yang sepadan. Modul glob menyokong beberapa peraturan padanan corak fail biasa:

  • *: sepadan dengan mana-mana aksara.
  • *:匹配任意字符。
  • ?:匹配单个字符。
  • [字符]:匹配字符集中的任意一个字符。
  • [!字符]:匹配字符集中的任意一个字符以外的字符。

下面是使用 glob 模块进行文件模式匹配的示例代码:

import glob

# 匹配当前目录下所有的.py文件
files = glob.glob('*.py')
print(files)

# 匹配当前目录下所有以test开头的文件夹
folders = glob.glob('test*')
print(folders)

# 匹配当前目录及其子目录下所有的.txt文件
files = glob.glob('**/*.txt', recursive=True)
print(files)

在上述代码中,首先导入了 glob 模块。然后通过 glob.glob() 方法传入匹配模式字符串,获取匹配的文件或文件夹列表。使用 *.py 可以匹配当前目录下所有的 .py 文件,其中 * 表示匹配任意字符。使用 test* 可以匹配当前目录下所有以 test 开头的文件夹,其中 * 表示匹配任意字符。使用 **/*.txt 可以匹配当前目录及其子目录下所有的 .txt 文件,其中 ** 表示匹配任意级别的子目录。

运行上述代码可以得到匹配的文件或文件夹列表,分别存储在 files 和 folders 变量中。然后通过 print 函数将结果打印出来。在实际使用中,可以根据需要对匹配到的文件或文件夹进行进一步的操作。

除了基本的文件模式匹配外,glob 模块还支持路径扩展。例如,可以使用 ~ 来表示用户的主目录,使用 ../ 来表示上一级目录。下面是使用路径扩展的示例代码:

import glob

# 匹配当前用户主目录下所有的.py文件
files = glob.glob('~/Desktop/*.py')
print(files)

# 匹配上一级目录下所有以test开头的文件夹
folders = glob.glob('../test*')
print(folders)

在上述代码中,使用 ~/Desktop/*.py 可以匹配当前用户主目录下的 Desktop 目录中所有的 .py 文件。使用 ../test*?: Padankan satu aksara.

[Watak]: Padan dengan mana-mana aksara dalam set aksara.

[!Watak]: Memadankan mana-mana aksara selain daripada mana-mana watak dalam set aksara.

Berikut ialah contoh kod untuk padanan corak fail menggunakan modul glob: 🎜rrreee🎜Dalam kod di atas, modul glob pertama kali diimport. Kemudian masukkan rentetan corak yang sepadan melalui kaedah glob.glob() untuk mendapatkan senarai fail atau folder yang sepadan. Gunakan *.py untuk memadankan semua fail .py dalam direktori semasa, dengan * bermaksud memadankan mana-mana aksara. Gunakan test* untuk memadankan semua folder bermula dengan ujian dalam direktori semasa, dengan * bermaksud memadankan mana-mana aksara. Gunakan **/*.txt untuk memadankan semua fail .txt dalam direktori semasa dan subdirektorinya, dengan ** bermaksud sepadan dengan mana-mana peringkat subdirektori. 🎜🎜Jalankan kod di atas untuk mendapatkan senarai fail atau folder yang sepadan, masing-masing disimpan dalam pembolehubah fail dan folder. Kemudian cetak hasilnya melalui fungsi cetakan. Dalam penggunaan sebenar, anda boleh melakukan operasi selanjutnya pada fail atau folder yang dipadankan mengikut keperluan. 🎜🎜Selain padanan corak fail asas, modul glob juga menyokong pengembangan laluan. Sebagai contoh, anda boleh menggunakan ~ untuk mewakili direktori rumah pengguna dan ../ untuk mewakili direktori peringkat atas. Berikut ialah contoh kod menggunakan pengembangan laluan: 🎜rrreee🎜Dalam kod di atas, gunakan ~/Desktop/*.py untuk memadankan semua fail .py dalam direktori Desktop di bawah direktori utama pengguna semasa. Gunakan ../test* untuk memadankan semua folder bermula dengan ujian dalam direktori peringkat atas. 🎜🎜Ringkasnya, modul glob menyediakan cara yang mudah untuk melakukan padanan corak fail. Dengan rentetan corak ringkas, anda boleh memadankan nama fail atau laluan fail dan mengembalikan senarai fail atau folder yang sepadan. Menggunakan modul glob dalam Python 2.x boleh melaksanakan padanan corak fail dengan mudah dan meningkatkan kecekapan operasi fail. 🎜

Atas ialah kandungan terperinci Cara menggunakan modul glob untuk padanan corak fail dalam Python 2.x. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn