Windows下python错误重定向

test.py代码示例如下:

if __name__ == '__main__':
    try:
        init_result_file()
        # パラメータを読込
        parser = argparse.ArgumentParser()
        parser.add_argument('--amount', type=int, required=False)
        args = parser.parse_args()

    except Exception as err:
        print(err)
        write_error_to_file(f"エラー: {err}")

使用python .test.py --amount时候,由于amount没有赋值,会报错

error: argument --amount: expected one argument

不过这个异常无法捕获,看代码应该是提前退出了,退出代码是2,所以导致无法捕获异常。


    def error(self, message):
        """error(message: string)

        Prints a usage message incorporating the message to stderr and
        exits.

        If you override this in a subclass, it should not return -- it
        should either exit or raise an exception.
        """
        self.print_usage(_sys.stderr)
        args = {'prog': self.prog, 'message': message}
        self.exit(2, _('%(prog)s: error: %(message)s\n') % args)

当通过调用cmd调用python脚本的时候,这种错误很难发现。因此还是需要想办法获取到这个异常,于是想到了windows重定向,不过这里要使用错误重定向。参考windows命令行输出重定向和错误重定向

python test.py  --amount 2>1.txt

更多内容,欢迎关注我的微信公众号:半夏之夜的无情剑客

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

helloworddm

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值