如何将函数中使用的 IP 地址作为命令行参数传递给参数解析器?
How can I pass an IP address used in a function as command line argument to argument parser?
我有这个功能,它正在 ping 服务器以获取其响应。我希望能够将函数中使用的 IP 地址作为命令行参数提供给参数解析器,而不是对其进行硬编码或将其作为用户输入。
目前函数看起来像:
def get_sipresponse():
var = input("Enter Opensips IP: ")
p = sys.path.append("/home/asad.javed/")
response = sip.ping(var)
response.get('Status')
print(response)
return p, response
我使用参数解析器的主要函数如下所示:
def main():
parser = ap.ArgumentParser()
parser.add_argument('-s', '--start', help='start script', action='store_true')
parser.add_argument('--getOSresponse', help='Opensips response', action='store_true')
args = parser.parse_args()
elif args.start
for k,v in reversed_dictionary.items():
print(v, "=", k);time.sleep(5);
proc = subprocess.call([k], shell=True);time.sleep(5);
if proc != 0:
if proc < 0:
print("Killed by signal!", -proc)
else:
print("\nReturn code: \n", proc)
else:
print("\nSuccess\n");get_sipresponse()
elif args.getOSresponse:
get_sipresponse()
如果您 return 来自 get_sipresponse()
的“口述”:
def get_sipresponse():
var = input("Enter Opensips IP: ")
p = sys.path.append("/home/asad.javed/")
response = sip.ping(var)
response.get('Status')
print(response)
return {'ip': var ,
'path': p,
'resp': response}
然后你就可以在你的main()
函数中使用它了。
def main():
target_ip = get_sipresponse()['ip']
......
.....
...
在您的 main 中,在 arg 解析器中其他参数的设置下,添加此行:
parser.add_argument('--ip')
然后把get_sipresponse()
改成这样:
def get_sipresponse(ip):
p = sys.path.append("/home/asad.javed/")
response = sip.ping(ip)
response.get('Status')
print(response)
return p, response
最后来自 main
,您可以这样调用 get_sipresponse
:
get_sipresponse(args.ip)
我有这个功能,它正在 ping 服务器以获取其响应。我希望能够将函数中使用的 IP 地址作为命令行参数提供给参数解析器,而不是对其进行硬编码或将其作为用户输入。 目前函数看起来像:
def get_sipresponse():
var = input("Enter Opensips IP: ")
p = sys.path.append("/home/asad.javed/")
response = sip.ping(var)
response.get('Status')
print(response)
return p, response
我使用参数解析器的主要函数如下所示:
def main():
parser = ap.ArgumentParser()
parser.add_argument('-s', '--start', help='start script', action='store_true')
parser.add_argument('--getOSresponse', help='Opensips response', action='store_true')
args = parser.parse_args()
elif args.start
for k,v in reversed_dictionary.items():
print(v, "=", k);time.sleep(5);
proc = subprocess.call([k], shell=True);time.sleep(5);
if proc != 0:
if proc < 0:
print("Killed by signal!", -proc)
else:
print("\nReturn code: \n", proc)
else:
print("\nSuccess\n");get_sipresponse()
elif args.getOSresponse:
get_sipresponse()
如果您 return 来自 get_sipresponse()
的“口述”:
def get_sipresponse():
var = input("Enter Opensips IP: ")
p = sys.path.append("/home/asad.javed/")
response = sip.ping(var)
response.get('Status')
print(response)
return {'ip': var ,
'path': p,
'resp': response}
然后你就可以在你的main()
函数中使用它了。
def main():
target_ip = get_sipresponse()['ip']
......
.....
...
在您的 main 中,在 arg 解析器中其他参数的设置下,添加此行:
parser.add_argument('--ip')
然后把get_sipresponse()
改成这样:
def get_sipresponse(ip):
p = sys.path.append("/home/asad.javed/")
response = sip.ping(ip)
response.get('Status')
print(response)
return p, response
最后来自 main
,您可以这样调用 get_sipresponse
:
get_sipresponse(args.ip)