通过Python发送ping时出现错误的参数错误

通过Python发送ping时出现错误的参数错误,python,python-3.x,ping,Python,Python 3.x,Ping,我正在尝试发送ping以找出谁在我的子网上,因此我发现了以下内容: response = os.system("ping -c 1" +hostname) 但是当它到达这一行时,它给了我一个错误: bad parameter -c 我需要发送ping并作为响应1获取无答案,或作为响应0获取答案 有人能帮我吗 谢谢大家! 您正在为函数的退出代码分配响应。0表示成功,否则它是一些错误代码,并不总是1。您最好只检查响应!=0这意味着它由于某种原因失败。另外,os.system的响应可能在您可能希

我正在尝试发送ping以找出谁在我的子网上,因此我发现了以下内容:

response = os.system("ping -c 1" +hostname)
但是当它到达这一行时,它给了我一个错误:

bad parameter -c 
我需要发送ping并作为响应1获取无答案,或作为响应0获取答案 有人能帮我吗


谢谢大家!

您正在为函数的退出代码分配响应。0表示成功,否则它是一些错误代码,并不总是1。您最好只检查
响应!=0
这意味着它由于某种原因失败。另外,
os.system
的响应可能在您可能希望查看的操作系统上有所不同

窗口上-c替换为-n

>>> import os
>>> response = os.system("ping -c 1 " + "127.0.0.1")
>>> response
0
>>> response = os.system("ping -c 1 " + "abc")
>>> response
512
>>> response = os.system("ping -c 1 " + "12.0.0.1")
>>> response
256
>>> import subprocess
>>> subprocess.call(["ping", "-c", "1", "127.0.0.1"])
>>> response = subprocess.call(["ping", "-c", "1", "127.0.0.1"])
>>> response
0
>>> response = subprocess.call(["ping", "-c", "1", "abc"])
>>> response
2
>>> response = subprocess.call(["ping", "-c", "1", "12.0.0.1"])
>>> response
1

尝试将
“ping-c1”+主机名
更改为
“ping-c1”+主机名
。我猜一定是一个空间?你在窗户上吗?我在ping的文档中没有看到任何
-c
选项。我有windows,windows是否有其他参数?键入
ping/?
,您将看到windows参数将
-c
更改为
-n
尝试响应=0,仍然不起作用,也是子进程。我现在正在尝试在响应中检查是否从:subprocess.check_output([“ping”,“-n”,“1”,hostname])中检查是否有“不可访问”这个词,但它现在起作用了-我尝试了find和in方法