gpt4 book ai didi

python - Powershell执行python : redirect print statements only?

转载 作者:太空宇宙 更新时间:2023-11-03 15:01:21 24 4
gpt4 key购买 nike

Powershell 中是否有一种方法可以将 print 语句从 python 的一个位置重定向并将 return 语句重定向到另一个位置?

例如我正在尝试

$ python myPythonScript.py args >> logFile

我在日志文件中得到打印语句输出(虽然看起来很糟糕,但清理将是下一个工作)

但是,我没有从输出中的 python 中获取返回语句值。如果我使用 *>>

我也抓不到它们

知道发生了什么吗?

Python 示例:

def main(args)
print "This goes to file"
#parse flags...
#do something here...
MyVar = "Please " + "Work"

return MyVar #doesn't go anywhere
if(__name__ == '__main__':
main(sys.argv)

最佳答案

程序的返回值(或退出代码)只能是整数,不能是字符串。

首先,确保返回一个 int,或者执行 exit(n) 其中 n 是一个 int。

您可能还想修复:

if(__name__ == '__main__'):
return main(sys.argv)

然后,您可以在 Powershell 中使用 echo %errorlevel% 访问程序(脚本)的返回值

如果您确实希望 powershell 使用字符串,您应该:

  1. 在 stderr 而不是 stdout 上打印日志
  2. 执行结束时在标准输出上打印文件名
  3. 如果您想要重定向,则将 stderr 重定向到您的日志文件,将 stdout 重定向到 powershell 管道 | - 或者您可以在括号 $() 内执行 python 脚本,以便得到结果可以在命令行上使用

关于python - Powershell执行python : redirect print statements only?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45070294/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com