相关疑难解决方法(0)

如何逐行读取文件到列表中?

如何在Python中读取文件的每一行并将每一行存储为列表中的元素?

我想逐行读取文件,并将每行附加到列表的末尾.

python string file readlines

2028
推荐指数
22
解决办法
342万
查看次数

如何"with"比try/catch更好地在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声明的目的是为了节省两行还是我遗漏了什么?

为此添加一个关键字似乎很多,所以我觉得有一些语法来处理额外的尝试/除了我不知道的.

python exception with-statement

40
推荐指数
3
解决办法
3万
查看次数

标签 统计

python ×2

exception ×1

file ×1

readlines ×1

string ×1

with-statement ×1