Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么这个命令在我的终端上有效,但在我的代码中无效?_Python_Shell_Subprocess_Netstat - Fatal编程技术网

Python 为什么这个命令在我的终端上有效,但在我的代码中无效?

Python 为什么这个命令在我的终端上有效,但在我的代码中无效?,python,shell,subprocess,netstat,Python,Shell,Subprocess,Netstat,这不起作用,并且说没有这样的文件或目录 current_conecctions = subprocess.Popen("netstat -p udp",shell = False, stdout=subprocess.PIPE).stdout.read() 而netstat-p udp在终端中工作良好 尝试使用参数列表而不是单个字符串: command = ["netstat", "-p", "udp"] current_conecctions = subprocess.Popen(comma

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

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

netstat-p udp
在终端中工作良好

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

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

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

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

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


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


不是我的反对票(相当严厉!);但答案肯定应该解释为什么
shell=True
是你通常想要避免的事情。看到它的工作原理,有人能解释为什么这是否决票吗?不是我的否决票(相当苛刻!);但答案肯定应该解释为什么
shell=True
是你通常想要避免的事情。看到它的工作原理,有人能解释一下为什么这是被否决的吗?你可能想避免
Popen
;看,你可能无论如何都想避免
Popen
;看见