我需要帮助我正在尝试打开终端并键入ifconfig并输入然后在mac上读取输出然后il转换到后来kali但是我收到错误的文件路径到终端而我无法启动它,这是我的代码。
import os,sys
#opens terminal
terminal = os.open('/Applications/Utilities/Terminal.app', os.O_RDWR|os.O_APPEND)
#writes ifconfig
os.write(terminal, 'ifconfig')
os.close(terminal)
答案 0 :(得分:1)
我建议您使用subprocess
import subprocess
def popen(executable):
sb = subprocess.Popen(
'%s' % executable,
shell=True,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
universal_newlines=True,
)
stdout, stderr = sb.communicate()
return stdout, stderr, sb.returncode
你可以将ifconfig
传递给这个方法,它会执行命令并为你返回输出。
答案 1 :(得分:1)
我同意使用subprocess。要添加到Amin的答案,对于这个简单的事情,您只需要输出:
import subprocess
print(subprocess.check_output(['ifconfig']))
编辑:
我在评论中谈到的是新的run函数,它返回一个CompletedProcess类,其中包含所有相关信息。这样你就不再需要有三个不同的变量来保存stdout,sterr和returncode。