pythonでreadlineでファイルの読み取りが終了したと判断する方法
2289 ワード
この例では、pythonでreadlineがファイルの読み取りが終了したと判断する方法について説明します.皆さんの参考にしてください.具体的な分析は以下の通りである.
pythonではreadline関数を使用してファイルを行単位で読み込むことができます.次に、行単位でファイルを読み取る方法について説明します.この方法で、私たちが議論する問題を展開します.
上は私たちがよく見るファイルの方法です.コードに書いてあるif(aLine!='):部分に気づいたかもしれません.readlineが空に読み込まれた場合、ファイルの最後に読み込まれたことを意味します.このとき、問題はここにあり、空行に遭遇したり、書類の終わりになったりするのではないかと考える人が多いのではないでしょうか.これはタイトルの問題を導入した.
実際には、ファイルの空白行は空の行を返しません.各行の末尾に1つ以上の区切り文字があるため、空白行には少なくとも1つの改行文字またはシステムで使用される他の記号があります.したがって、ファイルに本当に「空白行」が含まれていても、読み込まれた行は空ではありません.これは、実際にファイルが終了するまで、プログラムが実際に停止しないことを意味します.
readline()と.readlines()は非常に似ています.これらは以下のような構造で使用する:Python.readlines()
例は次のとおりです.
.readline()と.readlines()の違いは、後者が一度にファイル全体を読み出すことである.read()と同じです..readlines()は、Pythonのfor...in ... 構造処理を行います.一方、readline()は、通常比で1行のみ読み出す.readline()はずっと遅いです.ファイル全体を一度に読み取るのに十分なメモリがない場合にのみ使用する.readline().
readlines戻り行数の問題
公式文書はこう書いてある:If the optional sizehint argument is present,instead of reading up to EOF,whole lines totalling approximately sizehint bytes(possibly after rounding up to an internal buffer size)are read.
確かに指定されたサイズですね.内部バッファサイズの影響で内部バッファサイズに上向きに整列します.内部バッファが約8 kなので、ファイルサイズをテストするたびに8 k(8192)倍になるのも無理はありません.
ここで述べたことが皆さんのPythonプログラム設計に役立つことを願っています.
pythonではreadline関数を使用してファイルを行単位で読み込むことができます.次に、行単位でファイルを読み取る方法について説明します.この方法で、私たちが議論する問題を展開します.
filename = raw_input('Enter your file name') #
file = open(filename,'r')
done = 0
while not done:
aLine = file.readline()
if(aLine != ''):
print aLine,
else:
done = 1
file.close() #
上は私たちがよく見るファイルの方法です.コードに書いてあるif(aLine!='):部分に気づいたかもしれません.readlineが空に読み込まれた場合、ファイルの最後に読み込まれたことを意味します.このとき、問題はここにあり、空行に遭遇したり、書類の終わりになったりするのではないかと考える人が多いのではないでしょうか.これはタイトルの問題を導入した.
実際には、ファイルの空白行は空の行を返しません.各行の末尾に1つ以上の区切り文字があるため、空白行には少なくとも1つの改行文字またはシステムで使用される他の記号があります.したがって、ファイルに本当に「空白行」が含まれていても、読み込まれた行は空ではありません.これは、実際にファイルが終了するまで、プログラムが実際に停止しないことを意味します.
readline()と.readlines()は非常に似ています.これらは以下のような構造で使用する:Python.readlines()
例は次のとおりです.
fh = open('c:\autoexec.bat')
for line in fh.readlines():
print line
.readline()と.readlines()の違いは、後者が一度にファイル全体を読み出すことである.read()と同じです..readlines()は、Pythonのfor...in ... 構造処理を行います.一方、readline()は、通常比で1行のみ読み出す.readline()はずっと遅いです.ファイル全体を一度に読み取るのに十分なメモリがない場合にのみ使用する.readline().
readlines戻り行数の問題
公式文書はこう書いてある:If the optional sizehint argument is present,instead of reading up to EOF,whole lines totalling approximately sizehint bytes(possibly after rounding up to an internal buffer size)are read.
確かに指定されたサイズですね.内部バッファサイズの影響で内部バッファサイズに上向きに整列します.内部バッファが約8 kなので、ファイルサイズをテストするたびに8 k(8192)倍になるのも無理はありません.
#!/usr/bin/env python
f=open('a.txt').readlines(1)
open('b.txt','w').writelines(f)
open('c.txt','w').writelines(open('a.txt').readlines(200))
open('d.txt','w').writelines(open('a.txt').readlines(9200))
open('e.txt','w').writelines(open('a.txt').readlines(26000))
open('f.txt','w').writelines(open('a.txt').readlines(40000))
ここで述べたことが皆さんのPythonプログラム設計に役立つことを願っています.