繁体   English   中英

subprocess.Popen不运行bash命令吗?

[英]subprocess.Popen doesn't run the bash command?

我已经尝试在2.7和3.2版本的Python IDLE中使用子过程.Popen,并且代码不起作用!!!

Python代码

谢谢。

我怀疑IDLE重定向Python的stdout以便在窗口中进行print ,但它不会重定向文件描述符1,因此任何子进程都会愉快地打印到该文件描述符。

尝试从命令行启动IDLE,运行这些行,看看它们的输出是否打印到调用IDLE的终端上。

解决方案:

  1. 不要使用IDLE。 从命令行调用的python解释器中调用您的东西。
  2. 将过程的输出重定向到管道,读取该管道并输出。 如:

     sp = subprocess.Popen(['ls'], stdout=subprocess.PIPE) for i in sp.stdout: print i sp.wait() 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM