2011-08-23 2 views
0

문서 제목이 긴 목록을 텍스트 파일에 저장했습니다. 목록을 따라 제목이 매겨진 텍스트 파일을 만들면서 목록을 반복하고 싶습니다. . C 내부 그래서Python : 기사 제목 목록에서 여러 텍스트 파일 만들기

: 내가 가지고있는 /articles.txt ... 는 등 ...

하고 싶습니다 텍스트 파일 제목 생성

월요일
화요일
수요일
목요일
...

Monday.txt Tuesday.txt 등 ...

실제 파일 이름은 요일이 아니지만 Google의 번역 API를 통과 한 수천 통의 번역 문서가 될 것이므로 텍스트가 유니 코드 여야합니다. 문제가 있습니까?

지금까지 내가 가진 : 나는에 repr (선)와 파일 및 STR (선)하지만 기쁨을 여는 시도

Traceback (most recent call last): 
File "C:/Python27/createarticle.py", line 5, in <module> 
output = open((lines)+'.txt','w') 
IOError: [Errno 22] invalid mode ('w') or filename: 'Monday\n.txt' 

:

titles = open("C:/titles.txt",'r') 

for lines in titles:  
    output = open((lines)+'.txt','w') 
    output.write(lines.strip('\n')) 
    output.close() 

titles.close() 

그러나 나는 오류를 얻고있다. .. 나는 조금 길을 잃었다!

+0

은 '제목의 라인하지 않을까요'또는'제목의 제목 :'더 설명 변수가 될 이름? 한 번에 한 줄/제목 만 들려, 그렇지? –

답변

1

특정 오류에만 초점을 맞추면 파일 이름에 "\ n"이 포함됩니다. (lines)+'.txt'lines.strip() + '.txt'으로 바꾸어보세요.

+0

감사합니다. 에서 코드로. –

2

lines.strip()을 사용하여 파일 이름에서 \ n (줄 바꿈 문자)을 제거해야합니다.

output = open((lines.strip())+'.txt','w') 
1

모든 행 "\ n"끝에 새 행 기호가 있습니다. 이름이 "Monday \ n.txt"가되고 파일 이름에 "\"이 (가) 유효하지 않으므로이 파일을 제거해야합니다.

+1

백 슬래시는 실제로 파일 이름의 일부가 아닙니다. 줄 바꿈은 파일 이름의 일부입니다. 나는 개행 문자가 윈도우 파일 이름에서 유효한지 모르지만 백 슬래시와 개행 문자는 모두 * nix에서 유효한 파일 이름 문자입니다. – bstpierre

1

지금까지 Monday\n.txt과 같은 개행 문자가있는 파일을 만드는 것 같습니다.이 파일의 이름을 .txt 확장자를 추가하기 전에 strip()해야합니다 (예 :

).
for lines in titles.readlines(): 
    output = open((lines.strip())+'.txt','w') 
    (...) 
1

당신은 라인과 스트립 "N"을 사용하여 지능형리스트를 읽을 수 있습니다

titles = [t.strip("\n") for t in open("/etc/passwd").readlines()]