【发布时间】:2020-10-01 23:25:59
【问题描述】:
我正在尝试从 python 脚本到命令行访问变量。
我用几个参数运行以下命令行:
!python test.py --model I3D_resnet50 --dataset kinetics400
在这个test.py 中有变量Test1。
如果我在test.py 中使用sys.exit(Test1),则只会在命令行中打印值,但我需要将值保存在变量中。
这可能吗?
【问题讨论】:
-
从您的代码中
import那个模块 (test) 并调用(希望)返回该值的函数而不是在命令行上运行它更容易。这取决于test.py的写法。 -
只需将值写入
print,而不是sys.exit(这会使您的脚本看起来失败)。!python建议您从 Jupyter 笔记本运行命令;我不确定如何在该环境中捕获输出。 (在 shell 中,你可以写x=$(python test.py python test.py --model I3D_resnet50 --dataset kinetics400). -
感谢 chepner,使用此解决方案。
x=!(python test.py --model I3D_resnet50 --dataset kinetics400)variable=x[-1]print(variable)