0
|
PanDe · 技术社区 · 4 年前 |
![]() |
1
0
所以,在Rokm的帮助下,我终于解决了这个问题。上面的警告消息没有引起任何问题,但这是由于环境变量未传递给子流程造成的。 为了解决这个问题,我简单地做了以下事情:
接下来,将env变量添加到子进程Popen命令中。这是完整的代码供参考。这段代码将为您提供命令的输出,并返回命令的退出代码。此外,您不必使用任何shelix或任何其他东西来运行它,简单的.strip()命令将为您完成。希望你们觉得它有用,享受吧!!
P.S.不幸的是,cmd.split()在某些情况下会失败,即当参数有空格时,如cmd='/usr/bin/ls“/home/user/my directory”',cmd.split()会失败。在这种情况下,cmd=shlex.split(cmd,posix=True)会更好地工作。但是shlex.split()在捕获stdout时会失败,因此没有更全面的解决方案 |