我有一个python程序,它接受三个命令行参数-f(file1)-n(file2)-o(file3)
该计划的结构如下:
ffile=''
nfile=''
ofile=''
try:
myopts, args = getopt.getopt(sys.argv[1:],"f:n:o:h:")
for x,y in myopts:
if x == '-f':
ffile=y
elif x == '-n':
nfile=y
elif x == '-o':
ofile=y
<do something here with the files>
except:
sys.stderr("err.txt",w)
sys.exit(2)
我想做的是:
但是,err.txt文件为空。我不知道发生了什么事。我见过许多问题,其中stderr被写入文件,但它似乎并没有回答我的问题
如果您愿意改变您的方法,我建议您不要尝试重新发明轮子,而是查看一些现有的python库来完成此功能
有一个名为argparse 的库,它在解析命令行参数和返回适当的错误消息方面做得很好,也许您会发现它很有用
关于错误日志记录,您可以尝试使用python logging库。此库可以配置为将信息记录到标准输出、文本文件等,并且可能足够灵活,可以满足您的要求
相关问题 更多 >
编程相关推荐