Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Lặp qua file trong thư mục trong Python (os.listdir, pathlib)

os.listdir() trả về tên entry; pathlib.Path.iterdir() trả về Path object (hiện đại, OOP).

os.listdir (cổ điển)

import os

for entry in os.listdir('.'):
    full = os.path.join('.', entry)
    if os.path.isfile(full):
        print(f"File: {entry}")
    elif os.path.isdir(full):
        print(f"Dir:  {entry}")

pathlib (Python 3.4+, khuyến nghị)

from pathlib import Path

for entry in Path('.').iterdir():
    if entry.is_file():
        print(f"File: {entry.name}")
    elif entry.is_dir():
        print(f"Dir:  {entry.name}")

# Chỉ file .txt
for f in Path('.').glob('*.txt'):
    print(f)

Đệ quy: rglob / os.walk

# pathlib
for f in Path('.').rglob('*.py'):
    print(f)

# os.walk
for root, dirs, files in os.walk('.'):
    for f in files:
        print(os.path.join(root, f))