如果不能在python中打开文件就死掉

时间:2015-10-10 00:21:06

标签: python

我正在尝试将一个简单的perl程序转换为python,它将日记条目附加到文本文件中。但如果无法找到文件,我无法弄清楚如何让它死去。

这是我的perl代码:

my $file = 'journal.txt'; #input destination
open my $fh, '>>', $file or die $!; #open file or kills it if error

我可以在python中打开文件,但是如果找不到它,我尝试过的任何东西都会杀死它。这是我到目前为止的python:

with open('journal.txt', 'a') as file:
    file.write('input')

2 个答案:

答案 0 :(得分:3)

您可以捕获异常以自己提出某些内容或处理以下内容中的替代逻辑:

try:
    with open('some_file'):
        # logic
except IOError:
    # do things with your exception

答案 1 :(得分:2)

你的代码已经这样做,因为open('journal.txt', 'a')调用将抛出IOError({3}}(python 3中的OSError),如果它无法打开文件。如果您的程序没有捕获到该错误,它将最终传播到堆栈顶部并在打印回溯后退出解释器。