[EMAIL PROTECTED] wrote: > I am writing out zero byte files with this (using python 2.5). I have > no idea why I am having that problem
Which output file(s) do you mean, temp.orc or temp.sco or both? Two possible causes outlined below. > I am also looking for an example > of readlines where I can choose a number of lines say lines 12 to 14 > and then write them back to disk. To the same file? There was a long thread on updating text files very recently. > any help would be apreaceted. Have you considered deploying a spelling checker? > > import sys as sys2 > import os as os2 Why the obfuscation? > > def playscoreinrange(from_file, fromline, toline): > "untested way to play a series of lines from a orc, sco combination > line 14 may not be correct" and which is line 14?? According to my count, it is the blank line after "outfile2 = open('temp.orc', 'w') "!! > print(from_file) > fromfile = os2.path.basename(from_file) > print(fromfile) > > orcfilename = fromfile[:-4] + '.orc' > print(orcfilename) > infile2 = open(orcfilename, 'r') > outfile2 = open('temp.orc', 'w') > > for line in infile2: > outfile2.write(line) > > > infile = open(fromfile, 'r') infile is not used > outfile = open('temp.sco','w') > > data = sys2.stdin.readlines() > print(data) and how many lines were there in data when you printed it? > for linenumber in range(fromline, toline): Consider the possibility that fromline >= toline (which may be caused by either or both not being of a numerical type). Did you mean range(fromline, toline + 1) ? do this: print repr(fromline), type(fromline) print repr(toline), type(toline) BTW, print is a *statement*, not a function! > outfile.writeline(data[linenumber]) outfile.writeline() ??? | Python 2.5 (r25:51908, Sep 19 2006, 09:52:17) [MSC v.1310 32 bit (Intel)] on win 32 | Type "help", "copyright", "credits" or "license" for more information. | >>> f = open('fubar.txt', 'w') | >>> f.writeline('bzzzzt!\n') | Traceback (most recent call last): | File "<stdin>", line 1, in <module> | AttributeError: 'file' object has no attribute 'writeline' So, the body of your loop wasn't executed (or you overlooked the exception, or that wasn't the code that was executed) -- so it looks like the range was empty (or the problem occurred further upstream). > https://sourceforge.net/projects/dex-tracker > http://www.dexrow.com > > > os2.startfile('temp.bat') and what does this do?? Read temp.orc and/or temp.sco before you've closed the file(s)? Where is the code that was used to call this playscoreinrange function? HTH, John -- http://mail.python.org/mailman/listinfo/python-list