Here is the code I have for reading a text file a storing it as a dictionary:
from sys import argv
def data(file):
d = {}
for line in file:
if line.strip() != '':
key,value = line.split(":")
if key == 'RootObject':
continue
if key == 'Object':
obj = value.strip()
d[obj]={}
else:
d[obj][key] = value.strip()
return d
file = open(argv[1])
planets = data(file)
print(planets)
My question is did I implement the argv correctly so that any user can run the dictionary by just typing solardictionary.py random.txt in the commandline and run it. I tried running this but I keep getting an index error and I’m not sure there might be something wrong with my argv implementation.
You need to type
file = open(sys.argv[1],'r')in order to access the array because it is contained within thesysmodule.http://docs.python.org/3.1/library/sys.html#module-sys
You may also be interested in opening the file within a try-catch block.