Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะใช้ฟังก์ชัน Glob () เพื่อค้นหาไฟล์แบบเรียกซ้ำใน Python ได้อย่างไร


หากต้องการใช้ Glob() เพื่อค้นหาไฟล์แบบเรียกซ้ำ คุณต้องมี Python 3.5+ โมดูล glob รองรับคำสั่ง "**" (ซึ่งแยกวิเคราะห์ก็ต่อเมื่อคุณส่งแฟล็กแบบเรียกซ้ำ) ซึ่งจะบอกให้ python ดูซ้ำในไดเร็กทอรี

ตัวอย่าง

import glob
for filename in glob.iglob('src/**/*', recursive=True):
    print(filename)

คุณสามารถตรวจสอบชื่อไฟล์โดยใช้เงื่อนไขใดก็ได้ที่คุณต้องการโดยใช้คำสั่ง if สำหรับ Python เวอร์ชันเก่า คุณสามารถใช้ os.walk เพื่อเรียกไดเรกทอรี่ซ้ำๆ และค้นหาไฟล์

ตัวอย่าง

import os, re, os.path
pattern = "^your_regex_here$"
mypath = "my_folder"
for root, dirs, files in os.walk(mypath):
    for file in filter(lambda x: re.match(pattern, x), files):
        print(file)

ซึ่งจะจับคู่ชื่อไฟล์กับ regex ที่คุณระบุและพิมพ์ชื่อไฟล์