带/ dev / zero输入的python子进程

时间:2014-10-13 16:52:39

标签: python subprocess

我试图在python中编写以下命令: netcat ip port<的/ dev /零 它在终端工作,到目前为止我在python中的尝试失败了 有什么提示吗?

fd = os.open("/dev/zero", os.O_RDONLY);
buf = os.read(fd, 1024)
os.close(fd)
ip='192.168.1.45'
port= 56
netc =subprocess.Popen(['netcat',ip,str(port)],stdin=buf)

1 个答案:

答案 0 :(得分:2)

stdin需要是一个python文件对象。幸运的是,有一个方便...

import subprocess

ip='192.168.1.45'
port= 56
with open("/dev/zero", "rb", 0) as file:
    netc = subprocess.Popen(['netcat', ip, str(port)], stdin=file)