为什么此命令在我的终端上有效但在我的代码中无效?

时间:2018-10-23 03:17:08

标签: python shell subprocess netstat

这不起作用,并说没有这样的文件或目录

current_conecctions = subprocess.Popen("netstat -p udp",shell = False, stdout=subprocess.PIPE).stdout.read()

netstat -p udp在终端中运行正常。

2 个答案:

答案 0 :(得分:6)

尝试使用参数列表而不是单个字符串:

command = ["netstat", "-p", "udp"]
current_conecctions = subprocess.Popen(command, shell = False, stdout=subprocess.PIPE).stdout.read()

答案 1 :(得分:-1)

或尝试将Popen()中的shell变量替换为:

shell=True