2017-02-04 2 views
0

텍스트 파일에서 선택된 행을 읽어 수행어떻게 내가 코드를 사용하고</p> <p>파이썬 버전 3을 사용하여 파이썬

f = open("cinema.txt","r") 
print(f.read()) 

이 다음 영화 텍스트 파일을 열려면 계속된다. 이 텍스트 파일에는 50 개의 영화 제목이 들어있는 50 줄이 들어 있습니다.

예를 들어 5 행을 읽을 수 있습니다. 또한 15-20 행을 읽을 수 있기를 원합니다. 누군가 코드에 추가해야 할 추가 비트가 무엇인지 알려 주실 수 있습니까? 인터넷에서 검색 한 결과 답변을 찾을 수 없습니다.

+0

http://stackoverflow.com/questions/4999340/python-random-access-file – donkon

답변

2

enumerate을 사용하고 줄 번호를 확인할 수 있습니다. i이 i부터 시작하므로 i == 4이 5 줄과 일치합니다.

with open('cinema.txt') as f: 
    for i, line in enumerate(f): 
     if i == 4: 
      print(line.strip()) 
     if 14 < i < 19: 
      print(line.strip()) 
+0

정말 고마워요 hansaplast - 많은 시간을 저장하고있다, 당신은 내가해야합니까 여분의 것을 조금 말해 수 더하다? 파일로 출력 할 때 한 줄 간격으로 배치하고 싶습니다. – Ellen

+0

@ellen : 줄 바꿈을 제거하려면'strip()'해야합니다. 나는 응답을 적응시켰다 – hansaplast

1

목록에 줄을 기록하고 목록 조각을 표시 할 수 있습니다. open()를 사용하지 않는

f = open("cinema.txt") 
lines = f.readlines() 
a = 15 
b = 20 
print("\n".join(lines[a:b + 1])) 

또는

for i in range(a, b + 1): 
    print('line №' + str(i) + ': ' + lines[i]) 
+0

다시 한번 감사한다 – Ellen

1

사용 with open()는 그 모범 사례입니다.

data = [] 
with open("cinema.txt","r") as f: 
    data = f.readlines() # readlines() returns a list of items, each item is a line in your file 

print(data[5]) # print line 5 

for i in range(14, 19): 
    print(data[i]) 
+0

왜 함께 사용하는 것이 가장 좋은가? –

+1

이로 인해 : http://stackoverflow.com/a/31334226/7070779 –

관련 문제