7 способов составить список файлов в Windows с помощью Python: подробное руководство

При работе с Windows часто возникает необходимость составить список файлов в каталоге или извлечь определенную информацию из текстовых файлов. В этой статье мы рассмотрим различные методы выполнения этой задачи с использованием Python. Независимо от того, являетесь ли вы новичком или опытным программистом, эти примеры кода помогут вам разобраться в различных подходах к перечислению файлов в Windows. Давайте погрузимся!

Метод 1: использование os.listdir()
Пример кода:

import os
files = os.listdir("path/to/directory")
for file in files:
    print(file)

Метод 2: использование glob.glob()
Пример кода:

import glob
files = glob.glob("path/to/directory/*.txt")
for file in files:
    print(file)

Метод 3: использование os.walk()
Пример кода:

import os
for root, dirs, files in os.walk("path/to/directory"):
    for file in files:
        print(os.path.join(root, file))

Метод 4: использование pathlib.Path()
Пример кода:

from pathlib import Path
path = Path("path/to/directory")
for file in path.iterdir():
    if file.suffix == ".txt":
        print(file)

Метод 5: использование scandir()
Пример кода:

import os
with os.scandir("path/to/directory") as entries:
    for entry in entries:
        if entry.is_file() and entry.name.endswith(".txt"):
            print(entry.name)

Метод 6: использование subprocess.run()
Пример кода:

import subprocess
result = subprocess.run(['cmd', '/c', 'dir /B /A-D "path\\to\\directory\\*.txt"'], capture_output=True, text=True)
files = result.stdout.splitlines()
for file in files:
    print(file)

Метод 7. Использование PowerShell
Пример кода:

import subprocess
result = subprocess.run(['powershell', 'Get-ChildItem -Path "path/to/directory" -Filter "*.txt" | Select-Object -ExpandProperty Name'], capture_output=True, text=True)
files = result.stdout.splitlines()
for file in files:
    print(file)

В этой статье мы рассмотрели различные способы вывода списка файлов в Windows с помощью Python. В зависимости от ваших требований и предпочтений вы можете выбрать такие параметры, как os.listdir(), glob.glob(), os.walk(), pathlib.Path(), scandir(), subprocess.run() и PowerShell. Каждый метод имеет свои преимущества и варианты использования, поэтому не стесняйтесь экспериментировать и найдите тот, который лучше всего соответствует вашим потребностям. Приятного кодирования!