|
|
Python可以读取任何格式的文本数据,任何文件都需要在读取或写入之前都是需要打开的。使用Python打开文件的方法一般使用open()方法,并使用文件对象进行读写。使用open()方法的参数来说明打开文件的目的是,可以使用不同类型的文件都可以进入访问模式。同时用close()方法完成文件操作后释放文件占用的资源。一般情况下Python编程可以处理两种类型的文件,它们是文本文件和二进制文件。那么python如何逐行读取数据?python不逐行读怎么办?5 z. e. e3 R5 g' ~8 w6 [
python如何逐行读取数据?
0 X. S1 E1 z9 { b 在实际开发的过程中,文件读写也很重要,下面说一下python如何逐行读取文件。
: j& _3 J8 u4 S1 d 如果程序要读取行,通常只能用文本方式来读取,道理很简单,只有文本文件才有行的概念,二进制文件没有所谓行的概念。
4 k" m" R5 B+ W/ I 文件对象提供了如下两个方法来读取行:
* F, F: {' r K- <p> readline([n]):读取一行内容。如果指定了参数 n,则只读取此行内的 n 个字符。</p><p> readlines():读取文件内所有行。</p>
复制代码 下面程序示范了使用 readline() 方法来读取文件内容:' a4 ?) v, Z/ h. D" u: h/ }
- <p> import codecs</p><p> # 指定使用utf-8字符集读取文件内容</p><p> f = codecs.open("readline_test.py", 'r', 'utf-8', buffering=True)</p><p> while True:</p><p> # 每次读取一行</p><p> line = f.readline()</p><p> # 如果没有读到数据,跳出循环</p><p> if not line: break</p><p> # 输出line</p><p> print(line, end='')</p><p> f.close()</p>
复制代码 接下来程序使用 readline() 方法逐行进行读取,当读取到结尾时,该方法将会返回空,程序就会退出循环。
6 G% Q" c1 f a9 j 程序也可以使用 readlines() 方法一次读取文件内所有行。例如如下程序:
0 `# V0 R1 c# \9 h) }- <p> import codecs</p><p> # 指定使用utf-8字符集读取文件内容</p><p> f = codecs.open("readlines_test.py", 'r', 'utf-8', buffering=True)</p><p> # 使用readlines()读取所有行,返回所有行组成的列表</p><p> for 1 in f.readlines():</p><p> print(1, end='')</p><p> f.close()</p>
复制代码 python不逐行读怎么办?
) _: X4 G# y4 k5 H( Z# N 在使用read()方法读取文件时,如果文件很大,一次读取全部内容到内存,容易造成内存不足,所以通常会采用逐行读取。文件对象提供了readline()方法用于每次读取一行数据。readline()方法的基本语法格式如下:
( j, T w3 M3 }* L1 ~6 D readlines() 函数用于读取文件中的所有行,它和调用不指定 size 参数的 read() 函数类似,只不过该函数返回是一个字符串列表,其中每
, I5 @+ S. g0 k {- h& t1 e 个元素为文件中的一行内容。1 ^9 A* ~2 ~* G! L8 h! G$ J
和 readline() 函数一样,readlines() 函数在读取每一行时,会连同行尾的换行符一块读取。 K! [ B( |5 D9 {
readlines() 函数的基本语法格式如下:
: [% y1 z' Y2 r9 p5 V 其中,file 为打开的文件对象。和 read()、readline() 函数一样,它要求打开文件的模式使用 r(只读)或者 r+(读写)。3 P: {5 f7 l* ]# c3 k% M' _
+ t( E. L) P$ c& s; x4 c8 N 以上就是关于python如何逐行读取数据,以及python不逐行读怎么办的全部内容。9 P+ ?+ D }0 e* j: C/ y6 a! v: w
- F2 ?8 K( ~7 J
|
|