我正在尝试使用带有变量的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。
您可能想将myip
的值添加到os.system
的参数中:
ip1 = os.system('ping -c 1 {}'.format(myip))
或(旧样式,在Python 3.1中已弃用:]
ip1 = os.system("ping -c 1 %s" % myip)
另一个选择是
ip = os.system(f'ping -c 1 {myip}')