python逐⾏读取并赋值变量_python按⾏逐⾏读取并解析⽂本
内容
python 按⾏读取并解析如 csv、json、excel 等⽂件内容,通常主要是⼀⾏⼀⾏读取字符串内容,每⾏也有按照约定的分隔符进⾏分开内容,如按照制表符 \t 分隔⼀⾏的内容;针对这种场景 python 有多种⽅法实现,主要是 open() ⽅法打开⽂件,调⽤ read()、
read(size)、readline()、readlines() 等函数读取内容,最后调⽤ close() 对⽂件进⾏关闭。
推荐⽅式
with open('filename') as f:
for line in f:
print(line)
从 python 2.6 开始,with 成为默认关键字,with ... as ... 是⼀个控制流语句,跟 if for while try 之类的是⼀类,with 可以⽤来简化 try ... finally ... 代码,⽤很优雅的⽅式处理上下⽂环境产⽣的异常,⽆需在 finally ⾥显性调⽤ close() ⽅法,⾃动帮我们调⽤关闭⽅法。
在 python 中,⽂件对象是可迭代的,这意味着我们可以直接在 for 循环中使⽤它们(如上⽰例),⽽且是逐⾏迭代的,效果和 readline() 是⼀样的,⽽且更简洁。
python怎么读取json文件读操作分解
在 python 中,读⽂件主要分为三个步骤:
打开⽂件
读取内容
关闭⽂件
打开⽂件
f = open('/path/to/file', 'r')
打开⽂件调⽤ open ⽅法,参数除了指定⽂件外,还需设置打开模式。
open 函数的常⽤模式主要有:
open 函数的常⽤模式
参数
模式
'r'
读模式
'w'
写模式
'a'
追加模式
'b'
⼆进制模式(可添加到其他模式中使⽤)
'+'
读/写模式(可添加到其他模式中使⽤)
读取内容
通常⽽⾔,读取⽂件有以下⼏种⽅式:
⼀次性读取所有内容,使⽤ read() 或 readlines()
按字节读取,使⽤ read(size)
按⾏读取,使⽤ readline()
关闭⽂件
关闭⽂件的操作是调⽤⽂件对象的 close() ⽅法,除了 with ... as ... 语句中⾃动帮我们调⽤,在 try ... finally ⾥需要在 finally ⾥显性调⽤。
try:
f = open('/path/to/file', 'r') # 打开⽂件
data = f.read() # 读取⽂件内容
finally:
if f:
f.close() # 确保⽂件被关闭
with ... as ... ⽅式
除了推荐⽅式,直接迭代⽂件对象,也可以结合 with ... as ... 调⽤读取⽅法逐⾏读取。
readlines()
with open('/path/to/file') as f:
data_list = f.readlines()
if data_list:
for line in data_list:
print(line)
readlines() 同样也是⼀次性读取所有内容,但与 read() 不⼀样的是直接返回字符串列表类型,所以直接遍历列表即可。
read()
with open('/path/to/file') as f:
data_str = f.read()
if data_str:
for line in data_str.split('\n'):
print(line)
read() ⼀次性读取所有内容,并返回字符串类型,所以要⼀⾏⼀⾏处理,需要按照换⾏符 \n 分隔后再操作。
try ... finally ... ⽅式
readlines()
try:
f = open('/path/to/file', 'r')
data_list = f.readlines()
if data_list:
for line in data_list:
print(line)
finally:
if f:
f.close()
read()
try:
f = open('/path/to/file', 'r') data_str = f.read()
if data_str:
for line in data_str.split('\n'): print(line)
finally:
if f:
f.close()

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。