如何在Python中读取文件的每一行并将每一行存储为列表中的元素?
我想逐行读取文件,并将每行附加到列表的末尾.
我知道该with声明可以帮助你解决这个问题:
try:
f = open(my_file)
do_stuff_that_fails()
except:
pass
finally:
f.close()
Run Code Online (Sandbox Code Playgroud)
成:
with open(my_file) as f:
do_stuff_that_fails()
Run Code Online (Sandbox Code Playgroud)
但那怎么样更好?您仍然需要处理无法打开文件的情况(比如提示用户告诉他他没有权限),所以实际上你有:
try:
with open(my_file) as f:
do_stuff_that_fails()
except (IOError, OSError, Failure) as e:
do_stuff_when_it_doesnt_work()
Run Code Online (Sandbox Code Playgroud)
这相当于:
try:
f = open(my_file)
do_stuff_that_fails()
except (IOError, OSError, Faillure) as e:
do_stuff_when_it_doesnt_work()
finally:
f.close()
Run Code Online (Sandbox Code Playgroud)
是的,你获得了两行,但是你添加了一个嵌套级别,这使得它更容易阅读.with声明的目的是为了节省两行还是我遗漏了什么?
为此添加一个关键字似乎很多,所以我觉得有一些语法来处理额外的尝试/除了我不知道的.