2014-04-26 2 views
-3

파이썬에서 텍스트 파일을 한 줄씩 분석하고 목록에있는 문자열을 저장하려고합니다. 지금까지 내가 한 일입니다. :파이썬에서 텍스트 파일을 분석하기위한 목록 만들기

data = "" 
document = open("blahblah.txt") 
for line in document: 
    data = linea.strip() 
    list = [] 
    list.append(data) 
print list 

이 코드를 작동 시키려면 어떻게해야합니까?

+5

그리고 귀하의 질문은 무엇입니까? 루프의 각 반복을'list'로 재 바인딩한다는 점에서 명백한 오류가 있습니다. 그래서 이전 반복에서 가지고 있던리스트를 잃어 버리게됩니다. 또한'list'를 변수 이름으로 사용해서는 안됩니다. –

+0

나는 무엇을해야할지 몰랐다. 그러나 지금 나는한다. 루프 외부에서 변수 "list"를 정의해야합니다. – user3501183

+0

또한 파일을 제대로 닫지 않았습니다. 어쩌면 대신 명령문을 사용하는 것이 좋습니다. – xbb

답변

1

당신은 할 수 있습니다 : 당신에게 제거 라인 목록을 줄 것이다

with open("/path/to/file", "r") as f: 
    lines = f.read().splitlines() 

합니다. 주어진 파일을 읽기 모드로 열면 파일 핸들 f가됩니다. 이것은 완전히 읽힌 다음 newline-delimiters에 의해 분할되어 변수 "lines"에 도착하는 목록을 출력합니다.
이렇게하면 목록에 구분 기호가 없습니다. 당신이 그들을 지키고 싶다면, 다른 사람들이 언급 한 것처럼 f.readlines()을 할 수 있습니다.
모든 작업이 완료되면 with open...으로 파일 핸들을 닫으므로 다른 방법으로 수행 할 때 f.close()을 수행 할 필요가 없습니다.

+0

'lines = list (f)'뿐만 아니라? –

+1

OP의 질문에 실제로 대답하지 않고 대답 할 수는 없습니다. 당신은 또한 설명을해야합니다. 코드 덤프는 OP를 _help_ 실행하지 않습니다. –

+0

@GrijeshChauhan 줄 바꿈 문자를 포함 할 것이고,'splitlines'은 그것들을 구분 기호로 사용하여 줄을 제거합니다. –

관련 문제