2016-06-12 2 views
1

전체 텍스트을 긴 텍스트 파일에서 추출하여 Python 2.7의 목록에 문자열로 추가하려고합니다. 목록에서 자르고 붙여 넣기 만하지 않고 자동화하고 싶습니다. 여기 텍스트 파일의 완전한 문장을 복사하고 목록에 추가

내가 무엇을 가지고 : 목록에

from sys import argv 

script, filename = argv # script = alien.py; filename = roswell.txt 

listed = [] 

text = open(filename, 'rw') 

for i in text: 
    lines = readline(i) 
    listed.append(lines) 

print listed 
text.close() 

아무것도로드됩니다. 당신은 while 루프와 함께 할 수

+1

을'파일의 각 행을 읽고, 어떤'에 대한'의 readline (I) (그리고 그것은 어디에서이다)? 모든 행을 원한다면'lists = text.readlines()'가 아닌가? 또한 * "컨텍스트 관리자"*'열기 (...)를 텍스트로 사용하십시오 :'. – jonrsharpe

+2

_complete 문장 _을 정의하십시오. 또한'readline' 함수가 무엇인지 보여주십시오. 표준 라이브러리의 일부가 아닙니다. 그러나 파일과 유사한 객체에 대해 호출 할 수있는'readline' 메서드가 있습니다. 텍스트 파일 (또는 그 일부)의 내용과 원하는 목록을 제공하십시오. – Leva7

+0

파일의 문장이 이미 완전한 문장이고 파일을 한 줄씩 읽으려고하거나 그 이상이 있습니까? (문장이 끝날 때를 감지하는 등 ...) – Keiwan

답변

1

: 앞의 예에서

listed = [] 
with open(filename,"r") as text: 
    Line = text.readline() 


    while Line!='': 
     listed.append(Line) 
     Line = text.readline() 

print listed 

, 나는 그런 경우가 아니라면 각 문장은, 다른 라인에 기록되어 있다고 가정, 대신에이 코드를 사용 :

listed = [] 


with open(filename,"r") as text: 
    Line = text.readline() 


    while Line!='': 
     Line1 = Line.split(".") 
     for Sentence in Line1: 
      listed.append(Sentence) 
     Line = text.readline() 

print listed 

그리고 보조 노트에 는 '. '로 구분됩니다 with open(...) as text: 대신 text = open(...)

+0

개의 단어는 '.'로 구분됩니다. 예를 들어, 10 A.M – lulyon

+0

@lulyon과 같이 문장을 작성할 필요가 없습니다. 그래도 텍스트 파일 안에 무엇이 있는지 몰라요. 공백을 추가 할 수 있으므로 .split (".") –

+0

방금 ​​확인한 내용입니다. 답변입니다. :) –

0

일반적으로 문장을 사용해보십시오, n은 ot '\n'. 이 상태에서, (return-enter없이) period+space와 분할 사용 : 이미 텍스트 '에 내가 대한

listed = [] 

fd = open(filename,"r") 
try: 
    data = fd.read() 
    sentences = data.split(". ") 
    for sentence in sentences: 
     listed.append(sentence) 

    print listed 
finally: 
    fd.close() 
+0

감사합니다! 나를 위해 일하는이. 니스와 브리핑도. 건배! –

관련 문제