On 13 August 2013 14:20, Resmi <l.re...@gmail.com> wrote: > As a workaround, I've tried using os.system along with grep. And I get the > following output : > >>>> os.system("grep -e 'tx' 'data.dat' ") > ## tx = 2023.06 > 0 > > Why is there a 0 in the output? The file has no blank lines.
That 0 corresponds to the exit status of os.system, as there were no errors, it returns a 0. My idea would be to read the file and store it into a StringIO. That can be fed to np.loadtxt to extract the numbers, and look for your number. My (untested) attempt: import StringIO with datafile open as f: ... raw_data = StringIO.StringIO() ... raw_data.write(f.read()) data = np.loadfromtxt(raw_data) numbers = [float(line.split['='][1].strip()) for line in raw_data.readlines() if line[0] == '#'] If there is only one number there and it is after all the data, you could skip them all. From the shape of data you know there are N lines of data: for _ in range(N): ... raw_data.readline() while True: ... line = raw_data.readline() ... if line[0] == '#': ...... number = float(line.split['='][1].strip()) ...... break Alternatively, you could also use seek to put the pointer a certain distance from the end of the file and start from there, but this could cause problems in Windows. David. _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion