我正在尝试将一个简单的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')
答案 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
),如果它无法打开文件。如果您的程序没有捕获到该错误,它将最终传播到堆栈顶部并在打印回溯后退出解释器。