2013-03-12 2 views
-5

디렉토리 C에 여러 파일이 있고 모든 파일을 (자동으로) 읽고 각 파일을 처리 한 다음 각 입력 파일에 대한 출력 파일을 작성하는 코드를 작성하고 싶습니다. 복수 파일 읽기 및 여러 출력 파일 작성

디렉터리 C의 예를 들어 나는 다음과 같은 파일이 있습니다

aba 
cbr 
wos 
grebedit 
scor 

힌트 :이 파일은 명백한 확장

않고있는 그런 프로그램이 하나 하나, 프로세스에 의해이 파일을 읽고, 다음 쓰기 디렉토리의 출력은 :

aba.out 
cbr.out 
wos.out 
grebedit.out 
scor.out 
+2

은 (http://whathaveyoutried.com/) – millimoose

+0

나는이 작업을 수행하는 방법에 대한 어떤 생각을 가지고 있겠지. – Peace

+1

@ user2152825 - 문제를 해결하고 지금 어떻게해야하는지 생각해보십시오. 디렉토리에있는 파일 목록을 가져 오는 방법을 알고 있습니까? 한 파일에서 데이터를 읽는 방법을 알고 있습니까? 출력 파일의 이름을 만드는 방법을 알고 있습니까? 하나의 출력 파일에 쓰는 방법을 알고 있습니까? 루프를 만드는 방법을 알고 있습니까? 이러한 작업 중 하나를 시도해보고 방해가 될 경우 구체적인 도움을 요청하십시오. ** 이러한 것들을 ** 수행하는 방법을 모른다면 [this one] (http://docs.python.org/2/tutorial/)과 같은 Python 튜토리얼을 읽으십시오. –

답변

2

나를 tutorial로 안내하도록 허용합니다. 일반적으로 파일 IO에 익숙해지면 여기에서 확장 할 수있는 기본적인 워크 플로를 제공합니다.

def do_something(lines): 
    output = [] 
    for line in lines: 
     # Do whatever you need to do. 
     newline = line.upper() 
     output.append(newline) 
    return '\n'.join(output) # 

listfiles = ['aba', 'cbr', 'wos', 'grebedit', 'scor'] 

for f in listfiles: 
    try: 
     infile = open(f, 'r') 
     outfile = open(f+'.out', 'w') 

     processed = do_something(infile.readlines()) 

     outfile.write(processed) 

     infile.close() 
     outfile.close() 
    except: 
     # Do some error handling here 
     print 'Error!' 

당신이 특정 디렉토리에있는 모든 파일의 목록을 구축해야하는 경우

os 모듈을 사용합니다. [당신이 시도 무엇?]

import os 
listfiles = os.listdir(r'C:\test') 
+0

500 개의 파일이 있고 그것을 자동으로 읽고 싶다면 어떻게해야합니까? – Peace

+0

@ user2152825 디렉토리의 모든 파일을 자동으로 읽으려면 다른 사람의 대답에 대한 설명이 아닌 질문에 입력해야합니다. 그래도 내 대답을 편집했습니다. –