Python:os.system(ping)参数不起作用?

问题描述 投票:0回答:2

我正在尝试使用带有变量的os.system(ping)来创建def语句,并且它不希望使用该变量:

import os

def myping(myip):
    print(myip)
    ip1 = os.system("ping -c 1 myip")
    print(ip1)
myping("127.0.0.1")

这将返回512(失败,而不是0,表示成功)的代码,然后“ ping:未知主机myip”。根据我在os.system语句中格式化myip的方式,我还可以获得另一个错误的256。我尝试了各种格式化方法,包括引号,括号,百分号等,但我不确定自己做错了什么。

我可以告诉我,它认为我想扫描myip(文字字符串)。我在这里有什么语法错误?谢谢。

顺便说一下,def语句中的print(myip)确实给了我127.0.0.1。

python arguments ping function os.system
2个回答
2
投票

您可能想将myip的值添加到os.system的参数中:

ip1 = os.system('ping -c 1 {}'.format(myip))

或(旧样式,在Python 3.1中已弃用:]

ip1 = os.system("ping -c 1 %s" % myip)

0
投票

另一个选择是

ip = os.system(f'ping -c 1 {myip}')
© www.soinside.com 2019 - 2024. All rights reserved.