basic output question

Wildemar Wildenburger lasses_weil at klapptsowieso.net
Fri Jan 25 19:53:34 EST 2008


John Deas wrote:
> Hi, I am very new to Python (1 evening...)
> I need to process a series of files (toto-1.txt toto-2.txt toto-3.txt
> toto-4.txt), and as such I created a small program to go through the
> files in a directory. I want to call the script with arguments, like
> 
> python script.py toto- 1 1 4
> 
> my script is as follow :
> 
> import sys
> sys.argv
> header=     sys.argv[1]
> start =eval(sys.argv[2])
> step  =eval(sys.argv[3])
> nbit  =eval(sys.argv[4])
> 
Style note: You should probably use int() instead of eval. Not only is 
this safer (as in security), it is also safer (as in robust), because it 
will throw an error early if you feed it something other than an int.


> for i in range(nbit):
> 	filename=header+str(start+i*step)+'.txt'
> 	f=open(filename,'r')
> 	f.read()
> 	f.close()
> 
> My problem is that f.read() outputs nothing, and should I print
> filename, I can check that they are well formed, and the files sits in
> the same directory as my script.
> 
f.read() spills the text into nothingness. You may want to write its 
output to a variable. ;)

/W



More information about the Python-list mailing list