请问我对python很新, 我正在尝试创建一个在命令行中运行的python文件:
myscript.py hosts.txt tag
for example:
if tag = Test
return wsgwtestmg.mass.gov
if tag = QA
return wsgwaltmg.mass.gov
hosts.txt :
Test : wsgwtestmg.mass.gov
QA : wsgwaltmg.mass.gov
myscript.py:
import sys
def readArgument():
print('Number of arguments:', len(sys.argv), 'arguments.')
identifier = str(sys.argv[1])
hostTag = str(sys.argv[2])
extractURLhost(identifier,hostTag)
def extractURLhost(idt,tag):
print(idt)
with open(idt) as f:
content = f.readlines()
print(content)
readArgument()
我的结果是:
Number of arguments: 3 arguments.
hosts.txt
['Test : wsgwtestmg.mass.gov\n', 'QA : wsgwaltmg.mass.gov\n']
我做得对吗?或者还有其他简单的方法可以做同样的事情吗?
如何使用第三个参数提取网址?
谢谢,感谢您的帮助。
答案 0 :(得分:0)
一种选择是从文本文件中创建字典,并从该字典中获取结果。像这样:
from sys import argv
with open(argv[1]) as f:
addresses = {i.split(" : ")[0] : i.split(" : ")[1] for i in f}
print(addresses[argv[2]])
答案 1 :(得分:0)
import sys
with open('hosts.txt') as f:
print {x.split(' : ')[0].lower(): x.split(' : ')[1] for x in f.read().splitlines()}.get(sys.argv[1:][0].lower(), 'No host found')