2017-07-09 195 views
-2

我试图运行在python脚本一些命令行,如:运行命令行并保存细节

ping 8.8.8.8 

,当我写这篇文章的代码:

import os 
os.system('ping 8.8.8.8') 

它打印了我命令的细节。 但我希望它是后台命令, 什么意思我不想用户将看到所有的细节。 我想把它保存为varilble,之后编辑并打印我的愿望。 我该怎么做? 我尝试存储函数返回的东西,如:

answer = os.system('ping 8.8.8.8') 

但函数返回0帮助别人?

+0

使用'subprocess.check_output()'代替 – Anthon

+5

的[分配使用os.system的输出给一个变量并防止它被显示在屏幕上]可能的复制(https://stackoverflow.com/questions/ 3503879/os-system-to-a-variable-and-prevent-it-from-being-displayed-on) – Craig

回答

0

只需创建一个写入了ping 8.8.8.8的bat文件。 然后你可以使用subprocess命令从python脚本中调用它。

import subprocess 
subprocess.Popen('ping.bat') 
+0

您无法调用您导入的模块 – Anthon

+0

已对其进行编辑。现在你可以删除你的downvote。 @Anthon –

0

import os res = os.popen('ping 8.8.8.') print(res.read()) res.close()

但我认为它的安全使用subprocess.Popen()而不是os.popen()
Here show how to switch over