Hi,
I think I'm up against a limitation in cStringIO.StringIO(), but could not find
any clues on the web, especially not in
http://docs.python.org/library/stringio.html.
What I have is the following function:
def concatenate_files(self,filename_array):
import types
f = cStringIO.StringIO()
for filename in filename_array:
log_stream = LogStream(filename)
if not isinstance(log_stream, types.NoneType):
try:
string_ = log_stream.input_file.read()
except AttributeError, e:
sys.stderr.write("AttributeError: "+str(e)+"\n")
sys.stderr.write("log_stream: "+str(log_stream)+"\n")
else:
return(None)
f.write(string_)
return (f)
And, when the list of files - in filename_array - is pointing to long/large
enough files, I get the exception:
Traceback (most recent call last):
File "svm_ts_tool_in_progress.py", line 244, in OnSelectCell
self.InspectorViewController(row,col)
File "svm_ts_tool_in_progress.py", line 1216, in InspectorViewController
self.InspectorePaneGetRecords(self.req_table, rec)
File "svm_ts_tool_in_progress.py", line 1315, in InspectorePaneGetRecords
log_stream =
ConcatenatedLogStream(self.events_dict[req_table]["db_dict"].keys())
File "c:\Documents and
Settings\rbarak\rbarak_devel\dpm16\ConcatenatedLogStream.py", line 31, in
__init__
self.input_file = self.concatenate_files(filename_array)
File "c:\Documents and
Settings\rbarak\rbarak_devel\dpm16\ConcatenatedLogStream.py", line 47, in
concatenate_files
string_ = log_stream.input_file.read()
MemoryError
1. Anyone knows whet's the limitation on cStringIO.StringIO() objects ?
2. Could you suggest a better way to create a string that contains the
concatenation of several big files ?
Thanks,
Ron.
--
http://mail.python.org/mailman/listinfo/python-list