Python에서 폴더의 각 파일에 대해 명령 실행

Lakshay Kapoor 2023년10월10일
  1. 명령 프롬프트를 사용하여 Python의 폴더에 있는 모든 파일에 대해 명령 실행
  2. os 모듈을 사용하여 Python의 폴더에 있는 모든 파일에 대한 명령 실행
  3. pathlib 모듈을 사용하여 Python의 폴더에 있는 각 파일에 대한 명령 실행
Python에서 폴더의 각 파일에 대해 명령 실행

파일에서 특정 변수 추출, 파일에 작성된 텍스트 추출 등과 같이 Python을 사용하여 외부 파일에서 수행할 수 있는 흥미로운 작업이 많이 있습니다. 작업 중 하나는 파이썬을 사용하여 특정 폴더에 있는 파이썬 파일에서 명령을 실행하는 것입니다.

이 자습서에서는 Python을 사용하여 폴더에 있는 모든 파일에 대해 명령을 실행하는 방법을 보여줍니다.

이 튜토리얼에서는 testFolder 사전에 있는 .py 확장자로 실행 및 저장되는 일부 Python 문이 있는 두 개의 Python 파일을 가정합니다.

이 두 개의 Python 파일은 다음과 같습니다.

  • sample1.py
print("Hello World")
  • sample2.py
print(1 + 1)

이제 이 두 파일이 testFolder라는 폴더에 저장되어 있다고 가정합니다. Python에서 이 파일을 인쇄하는 몇 가지 방법을 살펴보겠습니다.

명령 프롬프트를 사용하여 Python의 폴더에 있는 모든 파일에 대해 명령 실행

컴퓨터의 명령줄을 사용하여 폴더에 있는 모든 파일을 실행하려면 파일의 경로를 언급해야 합니다. 명령 프롬프트에 작성해야 하는 명령은 다음과 같습니다.

python ../testFolder/sample1.py & python ../testFolder/sample2.py

출력:

Hello World
2

os 모듈을 사용하여 Python의 폴더에 있는 모든 파일에 대한 명령 실행

Python의 os 모듈은 Python의 표준 유틸리티 모듈에 속합니다. 이 모듈은 다양한 기능과 방법을 제공하여 컴퓨터의 운영 체제와 상호 작용하는 데 도움이 됩니다. 이 모듈은 주로 사용자가 컴퓨터의 파일 시스템과 상호 작용하기를 원할 때 작동합니다.

이 방법에서는 os 모듈에서 몇 가지 방법을 사용합니다. 메소드는 os.listdir, os.path.joinos.path.isfile입니다.

os 모듈의 os.listdir 메소드는 디렉토리에 있는 모든 파일의 전체 목록을 얻는 데 도움이 됩니다. 이 메소드의 인수는 디렉토리의 경로입니다. 인수에 디렉토리가 언급되지 않으면 현재 디렉토리에 있는 모든 파일 목록이 기본적으로 반환됩니다.

os 모듈의 os.path.join 메소드는 특정 경로의 하나 이상의 구성요소를 연결하는 데 사용됩니다. 이는 디렉토리 구분자 /라고도 하는 구분자에 의해 수행됩니다.

os 모듈의 os.path.isfile 메소드는 파일이 지정된 경로에 있는지 여부를 확인하는 데 도움이 됩니다. 이 메서드의 인수는 항상 파일의 경로입니다.

import os

directory_name = "random"

for file_name in os.listdir(directory_name):
    i = os.path.join(directory_name, file_name)
    if os.path.isfile(i):
        print(i)

출력:

Hello World
2

pathlib 모듈을 사용하여 Python의 폴더에 있는 각 파일에 대한 명령 실행

Python의 pathlib 모듈은 표준 유틸리티 모듈 아래에 있습니다. 이 모듈은 파일 경로를 클래스 형태로 제공하는 데 도움이 되며 운영 체제를 처리하기 위한 적절한 의미 체계를 제공합니다.

이 방법에서는 pathlib 모듈의 path.glob() 함수가 사용되며 기본적으로 지정된 디렉토리의 모든 파일에 액세스하는 데 도움이 됩니다.

from pathlib import Path

directory_name = "random"

open_files = Path(directory_name).glob("*")
for file in open_files:
    print(file)

출력:

Hello World
2
Lakshay Kapoor avatar Lakshay Kapoor avatar

Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.

LinkedIn

관련 문장 - Python Directory