我正在尝试创建一个使用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。
答案 0 :(得分:2)
您可能希望将myip
的值放入os.system
的参数中:
ip1 = os.system('ping -c 1 {}'.format(myip))
或(旧样式,在python 3.1中弃用):
ip1 = os.system("ping -c 1 %s" % myip)
答案 1 :(得分:0)
另一个选择是
ip = os.system(f'ping -c 1 {myip}')