python popen获取命令返回结果的疑问

问题描述

通过popen获取系统命令执行返回的结果,但是在这个过程中遇到一些命令执行失败的情况,跟预期中返回到py变量不一样而是直接打印输出了,以下附带例子与执行结果

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

!/usr/bin/python

import os
t = os.popen("dir").read()

t = os.popen("wjwdidjiwwdhijiwd").read()
exit(1)

你期待的结果是什么?实际看到的错误信息又是什么?

python test.py
期待的结果是什么都没有,实际上看到
sh: wjwdidjiwwdhijiwd: command not found

请问这是为什么?

已解决,虽然是报错但实际上是无输出的。。

阅读 6.5k
1 个回答
import os
t = os.popen("dir").read() # linux下dir要换成ls
print(t) #打印才有结果
t = os.popen("wjwdidjiwwdhijiwd").read()
exit(1)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏