当前位置:   article > 正文

在Unity3D中使用Process类调用python脚本——调试技巧_unity调用外部程序process说明

unity调用外部程序process说明

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

最近肝毕设,需要在Unity3D中调用已经写好的python脚本。在此记录一些调试技巧,以便记录。如有错误,希望广大读者能告诉我。
最令人头疼的问题:再用Process类调用python时,如果出现错误,Process并不会自动返回给你,就想一个黑匣子,你无法得知究竟出了什么错误。经过漫长的思考,我想出了两个技巧,供大家参考。


技巧一、使用命令行来进行调试

在网上阅读Process是通过命令行来调用外部程序的,既然Process不能返回出错信息,那我们为什么不用命令行进行调试呢?答案是肯定的。然而,我使用命令行只解决了部分问题,其他的问题都是使用技巧二来解决的。

技巧二、利用异常

虽然Process不会自动返回出错信息,但是它可以读取python脚本的输出信息。如果我们利用异常来捕获出错信息,将其输出,不就可以得到出错信息了吗?
例如:

try:
    import os
    os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"
    import argparse
    import json
    import keyboard
    from easydict import EasyDict as edict
except Exception as e:
    print(e)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

这样我们就可以获取因导入第三方库出错的信息。

总结

以上两个技巧使我成功在Unity3D中调用了编写好的Python脚本,在这个过程中,出现的错误大多是第三方库与python的版本不匹配,有些坑。
希望这篇记录能对广大读者有所帮助。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/478546
推荐阅读
相关标签
  

闽ICP备14008679号