2017-02-04 13 views
0

のテキストファイルから選択した行を読んで実行します。は、どのように私は、コードを使用しています</p> <p>Pythonのバージョン3を使用してPythonの

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 - 多くの時間を保存している、あなたは私がしなければならないの余分なものを少し私に言うことができます追加?私はそれがファイルに出力するときに1行の間隔を空けておきたい。 – Ellen

+0

@ellen:改行を削除するには 'strip()'する必要があります。私は答えを – hansaplast

1

リストに行を記録し、リストスライスを表示できます。

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()、それがベストプラクティスだ、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 –

関連する問題