디렉토리에 ".txt"확장명을 가진 모든 파일을 읽고이 파일에 쓰여진 숫자로 작업을 수행하는 프로그램이 있습니다. 이 프로그램은 다음과 같습니다.모든 하위 폴더에서 Python 프로그램을 반복적으로 실행
import glob
list_of_files = glob.glob("*.txt")
for filename in list_of_files:
p,j, x = open(filename, "r")
#do things
예를 들어 폴더의 모든 파일을 모두 합칠 수 있습니다. 것은 동일한 구조를 가진 많은 폴더가 있고 그 각각의 동일한 프로그램을 실행할 필요가 있다는 것입니다. 이후 각 폴더에 python 프로그램을 붙여 넣기를 복사하고 실행하지 않으려 고 재귀 적으로 수행하는 방법을 찾고있었습니다.
내가 파이썬이 도울 수있는 라이브러리라는 OS가 있음을 발견했다 :
for root, dirs, files in os.walk(path):
for name in files:
#do things
문제는 그 프로그램이 모든 폴더에 대해 한 번 수행되어 있는지 확인하는 방법을 알고, 내가 없다는 것입니다
for root, dirs in os.walk(path):
for files in dirs:
glob.glob("*.txt)
#do things
실제 재귀를 시도해 보셨습니까? – Eumel
당신은 더 자세히 설명해 주시겠습니까? 이해가 안 됨 –
모든 폴더에 공통 루트가 있습니까? – gionni