number = int(input('Enter Line: '))
f = open('path.txt','r')
text = f.readline(number)
print(text)
"path.txt" はこのようになりませんファイル:関係なく、あなたが入力した内容番号、は、正しい文字列を印刷しない
まだ
LINE1
LINE2
LINE3が、それはまだ返されますLINE1 。
number = int(input('Enter Line: '))
f = open('path.txt','r')
text = f.readline(number)
print(text)
"path.txt" はこのようになりませんファイル:関係なく、あなたが入力した内容番号、は、正しい文字列を印刷しない
まだ
LINE1
LINE2
LINE3が、それはまだ返されますLINE1 。
f.readline()
を間違って使用しています。このメソッドを渡すと、特定の行番号が返されません。このメソッドは常に次の行(この例では#1行目)を読み込んで返し、実際には部分文字列として機能しています。
f.readline()
ファイルから1行を読み取ります。文字列の末尾に改行文字 (\ n)が残され、ファイルが改行で終わらない場合は、ファイルの最後の 行で省略されます。 https://docs.python.org/3/tutorial/inputoutput.html#methods-of-file-objects
私はあなたが本当に探している使用量がこれですと信じて:
number = int(input('Enter Line: '))
f = open('path.txt','r')
lines = f.readlines()
print(lines[number])
f.readlines()
は、あなたがインデックスすることができ、すべての行を読み取り、返します。
私は、ドキュメント、Pythonの男ではないんだけど、簡単に見ているreadlineのがまさにそれ...それはファイルの先頭から1行ずつ読み込むない私に語りました。
これを試してみてください:
f = open('path.txt','r')
print(f.readline())
print(f.readline())
この出力すべき:readlineのために渡された
LINE1 LINE2
パラメータは読み込むバイト数ではなく、行番号です。
これは役立つかもしれない:http://www.tutorialspoint.com/python/file_readline.htm
機能readline()
(なし関数の引数が)したがって、ファイルから1行を読み取り、あなたの文text = f.readline(number)
は常にカーソル位置の行を返します。例えば
:あなたのケースのために
number = int(input('Enter Line: '))
f = open('path.txt','r')
print f.readline(number) => print line1
print f.readline(number) => print line2
、私はあなたがすることができると思う:
number = int(input('Enter Line: '))
f = open('path.txt','r')
lines = f.readlines()
print lines[number] # if number is not greater than len(lines)
f.readlines()
は、ファイルが非常に大きい場合、それはすべて食べるようになる、メモリへのすべての行を読み込みますメモリ。だから私は薄く、あなたは次のコードを使用することができます。
for line_num, line in eneumerat(lines, 1):
if line_num == number:
print(text)
break
'readline()'の引数は何ですか? –
はありますか? –