se7en said:
okay,
i cant seem to run a file with another file as an argument.
e.g I want to send the file "x.met" as an argument when running
the file "y.py"
You will want to read about file objects in Python. See:
http://www.python.org/doc/current/lib/bltin-file-objects.html
Pass the file *name* on the command line.
Try something like the following:
===========================================================
#!/usr/bin/env python
import sys
def main():
# Get the arguments from the command line, except the first one.
args = sys.argv[1:]
if len(args) == 1:
# Open the file for read only.
infile = file(args[0], 'r')
content = infile.read()
infile.close()
# Do something with the contents of the file.
o
o
o
else:
print 'usage: y.py <inputfile>'
sys.exit(-1)
if __name__ == '__main__':
main()
===========================================================
Here is an alternative that reads one line at a time:
===========================================================
#!/usr/bin/env python
import sys
def main():
# Get the arguments from the command line, except the first one.
args = sys.argv[1:]
if len(args) == 1:
# Open the file for read only.
infile = file(args[0], 'r')
# Iterate over the lines in the file.
# Note that a file object obeys the iterator protocol.
for line in infile:
do_process(line)
infile.close()
else:
print 'usage: y.py <inputfile>'
sys.exit(-1)
if __name__ == '__main__':
main()
===========================================================
Hope this helps.
Dave