Re: [Tutor] error in writelines

2006-09-10 Thread Luke Paireepinart
LL wrote:
 Hi All,
  
 I have a list containing 108 filenames. I want to open each file and 
 write it to an output file, appending it to the previous write. I use 
 the code below. Everything appears to work fine until I reach file 
 107. Only part of the file is written, and file 108 is not written at 
 all. The program runs to completion (I get exit code 0). I debugged 
 the problem and found that readlines() is reading all of file 107's 
 contents but that writelines() is not writing all of file 107's 
 contents. There are no strange characters where the write stops.
  
 Any advice would be greatly appreciated.
 Thanks,
 Lance
 -
 fileobjectw = open(COMPILETRACEDIR + '\\IncludeCode.prg', 'w')
 for line in listext:
 line = string.strip(line)
 fileobjectr = open(line, 'r')
 sa = fileobjectr.readlines()
 fileobjectr.close()
 fileobjectw.writelines(sa)
 fileobjectw.close()
Sounds like maybe you should just do a binary read - write.

like,
outputfile = file(os.path.join(COMPILETRACEDIR,'IncludeCode.prg'),'wb')
tmp = file('filenames.txt','r')
filenames = [a.strip() for a in tmp.readlines()]
tmp.close()
for filename in filenames:
inputfile = file(filename,'rb')
outputfile.write(inputfile.read())
inputfile.close()
outputfile.close()

I think that should work.
I don't have the files you're running this all on, though.
It might help if you gave us the text of a successful file and of 107.
HTH,
-Luke
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


[Tutor] error in writelines

2006-09-09 Thread LL



Hi All,

I have a list containing 108 filenames. I want to 
open each file and write it to an output file, appending it to the previous 
write. I use the code below. Everything appears to work fine until I reach file 
107. Only part of the file is written, and file 108 is not written at all. The 
program runs to completion (I get exit code 0). I debugged the problem and found 
that readlines() is reading all of file 107's contents but that writelines() is 
not writing all of file 107's contents. There are no strange characters where 
the write stops.

Any advice would be greatly appreciated. 

Thanks,
Lance
-
fileobjectw = open(COMPILETRACEDIR + 
'\\IncludeCode.prg', 'w')for line in listext: line = 
string.strip(line) fileobjectr = open(line, 
'r') sa = fileobjectr.readlines() 
fileobjectr.close() 
fileobjectw.writelines(sa)
fileobjectw.close()
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor