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
;看见