|
|
Python可以读取任何格式的文本数据,任何文件都需要在读取或写入之前都是需要打开的。使用Python打开文件的方法一般使用open()方法,并使用文件对象进行读写。使用open()方法的参数来说明打开文件的目的是,可以使用不同类型的文件都可以进入访问模式。同时用close()方法完成文件操作后释放文件占用的资源。一般情况下Python编程可以处理两种类型的文件,它们是文本文件和二进制文件。那么python如何逐行读取数据?python不逐行读怎么办?6 J: E/ Y/ B! c* e
python如何逐行读取数据?4 O/ e/ S/ R, }$ p
在实际开发的过程中,文件读写也很重要,下面说一下python如何逐行读取文件。
# H& e$ j7 Z0 X5 I* D* _8 j# E 如果程序要读取行,通常只能用文本方式来读取,道理很简单,只有文本文件才有行的概念,二进制文件没有所谓行的概念。
! @9 { {8 V! k. S$ |$ ] 文件对象提供了如下两个方法来读取行:
1 M, u) U) |( @ x1 }: G* N- <p> readline([n]):读取一行内容。如果指定了参数 n,则只读取此行内的 n 个字符。</p><p> readlines():读取文件内所有行。</p>
复制代码 下面程序示范了使用 readline() 方法来读取文件内容:0 }. I) `& d- ]) H8 i
- <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() 方法逐行进行读取,当读取到结尾时,该方法将会返回空,程序就会退出循环。) d5 ^; J; w6 H" Q# Q2 A; O
程序也可以使用 readlines() 方法一次读取文件内所有行。例如如下程序:+ f! b* Y; ]$ c# W; S
- <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不逐行读怎么办?
4 ~& j2 I; X8 C( B2 O& [8 _ 在使用read()方法读取文件时,如果文件很大,一次读取全部内容到内存,容易造成内存不足,所以通常会采用逐行读取。文件对象提供了readline()方法用于每次读取一行数据。readline()方法的基本语法格式如下:
, Z8 N$ ~( z$ c readlines() 函数用于读取文件中的所有行,它和调用不指定 size 参数的 read() 函数类似,只不过该函数返回是一个字符串列表,其中每1 [: b3 l2 O; M) a; I
个元素为文件中的一行内容。, U$ v! m( W0 }( ?. J- T
和 readline() 函数一样,readlines() 函数在读取每一行时,会连同行尾的换行符一块读取。
) s9 N) P- m' i0 C9 [6 c* { readlines() 函数的基本语法格式如下:( k' [( Y4 q* R. d. I6 L$ i; J
其中,file 为打开的文件对象。和 read()、readline() 函数一样,它要求打开文件的模式使用 r(只读)或者 r+(读写)。
6 [& z0 _& Z* N* h
, i% c9 |- J @ 以上就是关于python如何逐行读取数据,以及python不逐行读怎么办的全部内容。 C9 M, B9 T1 E3 l
& E5 Y' C7 O; `/ l |
|