from lxml import etree import gzip import sys if len(sys.argv) > 2: tickers = [ticker.strip() for ticker in sys.argv[2:]] data_file = sys.argv[1] else: print ("\nProvide two positional parameters:") print (" File name as the first.") print (" Specify one or more tickers as second and onward separated by a space.") exit() with gzip.open(data_file, "rb") as f: context = etree.iterparse(f, tag='{http://www.gnucash.org/XML/gnc}commodity') for event, elem in context: symbol = elem[1].text namespace = elem[0].text elem.clear() if any(symbol.lower() == ticker.lower() for ticker in tickers): print ("{}:{}".format(symbol, namespace))