【问题标题】:how to run a python script file on linuix with argv?如何使用 argv 在 linux 上运行 python 脚本文件?
【发布时间】:2022-10-15 00:27:20
【问题描述】:

任务是使用 python 脚本在 linux 机器中从命令行打开一个名为 t32 的应用程序,我理解 2 个参数。但我面临以下错误:

sh-5.0$ python2 t32start.py --t32path /home/uif24704/t32 --target makena
Python not detected in PATH. Attempting to add python executable path to PATH
Added Python directory /usr/bin to PATH
Selected target: makena
Selected session: None
Traceback (most recent call last):
File "t32start.py", line 847, in <module>
generate_buildinfo()
File "t32start.py", line 318, in generate_buildinfo
tmpfile = os.getenv('TEMP') + os.sep + cmmfilename
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'

注意:我已经设置了 TEMP 路径

【问题讨论】:

  • 它告诉你错误是什么。您尝试运行的脚本正在尝试将None 添加到str。当您在 shell 中运行 echo $TEMP 时,您会看到什么?

标签: python linux bash virtual-machine


【解决方案1】:

似乎变量 cmmfilename 未设置,因此当您将其与字符串值连接时会导致错误。您应该提供有关如何调用此 Python 脚本以及此脚本如何解析这些参数的代码。例如:python main.py --filename="/sample_dir"parser.add_argument("--filename", help="Working directory.")

您可能还想查找如何提供和读取命令行参数(例如,请参阅this 问题),因为这样做有多种方法。

【讨论】:

    猜你喜欢
    • 2022-08-06
    • 1970-01-01
    • 1970-01-01
    • 2016-05-01
    • 2020-03-18
    • 2019-05-24
    • 1970-01-01
    • 2015-02-18
    • 2021-08-27
    相关资源
    最近更新 更多