2014-07-23 6 views
-3

파이썬으로 파일을 읽었습니다. 파일의 데이터 내용은 문자열 형식입니다. 내가하고 싶은 것입니다 : 파이썬을 사용하여 배열의 문자열을 변환하십시오.

  1. 라인에 의해 파일 내용 라인을 통해 이동 및 배열의 ​​라인 (크기 = 호선.)
  2. 그런 다음 배열로 라인을 읽어 저장합니다.

어떻게하면 파이썬을 사용해야합니까? 어떤 도움을받을 수 있습니다. 미리 감사드립니다. 아주 쉽게

+2

줄을 배열로 읽어야합니까? 파일 객체는 파이썬에서 반복 가능합니다. 'file_object :에있는 행에 대해 무엇이 잘못 되었습니까? ' – iCodez

+0

ducktyping +1 +1 –

+0

무엇이'size = line no.'입니까? –

답변

-2

:

lines = open(filename).readlines() 

당신에게 적절한 인덱스의 각 라인 문자열 목록을 줄 것이다 (lines[2] 당신에게 세 번째 줄을 줄 것이다).

0

사용하십시오 list comprehension

lines = [] 
with open('myfile') as file: 
    lines = [line for line in file] 
+1

'[line for line in file]'을 쓸 필요가 전혀 없습니다. 초보자가 이해하기가 더 어렵고, 읽기가 더 어려우며, 아무런 이유없이 더 느리게 만듭니다. – abarnert

+0

@abarnert 귀하의 답변은 실제로 더 빠르고 읽기 쉽습니다. 내 결함을 강타 할 필요가 없습니다. 단지 당신의 것에 집중하십시오. – Stephan

1
with open('myfile') as file: 
    lines = list(file) 

다른 모든 것들 사람들이 사전에 목록을하고-만드는 방금 명시 적으로 준 정확히 무엇인지 등을 산출 이해력을 쓰고, 그것을 대체하는 .- 불필요 함.

파일 객체는 반복 가능한 선입니다. list 함수는 반복 가능한 값을 취하며 같은 값을 가진 목록을 제공합니다. 따라서 줄 목록을 원한다면 파일 개체를 list 함수에 전달하면됩니다.

+0

돌아 왔습니다. :-) –

+0

기다려라, 나는 내가 abarnert하다고 생각한다, 정의되지 않았다는 것은 함수가 아니라, 되돌아왔다. :) 어쨌든, 전 예전처럼 컴퓨터 앞에 많은 자유 시간이 없지만, 다시는 가지고 있습니다. – abarnert

+0

당신을 돌려 보내는 것이 좋으며, 많은 것을 배웠습니다. –

0
lines = [line.strip() for line in open(path_to_file, 'r')] 

솔직히 "다음 줄을 배열로 읽어들입니다."

+0

도움 주셔서 감사합니다 .. 이미 내 솔루션을 가지고 .. – zeeshan

관련 문제