본문 바로가기
파이썬

파이썬 폴더의 모든 파일을 여는 방법은 무엇입니까?

by º기록 2021. 1. 10.
반응형

나는 파이썬 스크립트 parse.py를 가지고 있는데, 스크립트에서 file1과 같은 파일을 연 다음 총 문자 수를 인쇄 할 수 있습니다.

filename = 'file1'
f = open(filename, 'r')
content = f.read()
print filename, len(content)

지금은 stdout을 사용하여 결과를 출력 파일-출력으로 보냅니다.

python parse.py >> output

그러나이 파일을 수동으로 파일별로 수행하고 싶지는 않지만 모든 파일을 자동으로 처리하는 방법이 있습니까? 처럼

ls | awk '{print}' | python parse.py >> output 

그렇다면 문제는 standardin에서 파일 이름을 어떻게 읽을 수 있습니까? 아니면 ls와 그런 종류의 작업을 쉽게 수행 할 수있는 내장 함수가 이미 있습니까?

감사!

 

해결 방법

 

운영

os.listdir 을 사용하여 현재 디렉토리의 모든 파일을 나열 할 수 있습니다.

import os
for filename in os.listdir(os.getcwd()):
   with open(os.path.join(os.cwd(), filename), 'r') as f: # open in readonly mode
      # do your stuff

글롭

또는 glob 모듈을 사용하여 파일 패턴에 따라 일부 파일 만 나열 할 수 있습니다.

import glob
for filename in glob.glob('*.txt'):
   with open(os.path.join(os.cwd(), filename), 'r') as f: # open in readonly mode
      # do your stuff

현재 디렉토리 일 필요는 없으며 원하는 경로에 나열 할 수 있습니다.

path = '/some/path/to/file'
for filename in glob.glob(os.path.join(path, '*.txt')):
   with open(os.path.join(os.cwd(), filename), 'r') as f: # open in readonly mode
      # do your stuff

파이프 또는 fileinput 을 사용하여 지정한대로 파이프를 사용할 수도 있습니다.

import fileinput
for line in fileinput.input():
    # do your stuff

그런 다음 배관과 함께 사용하십시오.

ls -1 | python parse.py

 

참조 페이지 https://stackoverflow.com/questions/18262293

 

 

반응형

댓글