python - 无法在 Python 脚本中从 `if __name__ == "__main__"` 返回值?
问题描述
我正在尝试在调用 Python 脚本的 bash 脚本中收集 Python 脚本的输出,如下所示:
#!/bin/bash
outputString=$(./test.py 2>&1)
echo $outputString
但看起来我无法从街区返回if __name__ == "__main__"
?
#!/usr/bin/env python
import sys
def my_method():
return 'somethng'
if __name__ == "__main__":
value = my_method()
return value
运行test.sh
报以下错误:
File "./test.py", line 11 return value SyntaxError: 'return' outside function
我究竟做错了什么?我不能从里面回来if __name__ == "__main__"
?
解决方案
您可以像这样从python(或任何其他程序)获取退出值
#!/bin/bash
./test.py 2>&1
echo $?
如果出现错误,您可以使用不同于 0 的值退出
#!/usr/bin/env python
import sys
def my_method():
return 'somethng'
if __name__ == "__main__":
print(my_method())
sys.exit(0)
推荐阅读
- javascript - WebRTC 错误:无法设置远程报价 sdp:无法应用 0 的描述:无法设置 RTCP 多路复用器
- javascript - 如何设置节点进程的时区?
- kotlin - Kotlin - 返回 Pair 列表
- angular - Angular 反应式表单验证原始需要递归
- python - 如何从 List 值替换 DataFrame 值?-Python
- c++ - 文件c ++中的唯一单词
- c - malloc() 多次返回相同的地址,即使我没有使用 free()
- angular - NGRX 中用于展平对象的适配器 addAll 方法
- database - 设置 Slick 3.xx 以在不同环境中使用不同的数据库
- azure - Azure 流分析作业 - 转换查询 - ARM 模板中的正确格式