回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在处理一个问题,结果被墙卡住了</p>
<p>我有一组(可能很大)文本文件,我需要对其应用一系列过滤器和转换,并将其导出到其他地方。在</p>
<p>所以我大概有</p>
<pre><code>def apply_filter_transformer(basepath = None, newpath = None, fts= None):
#because all the raw studies in basepath should not be modified, so I first cp all to newpath
for i in listdir(basepath):
file(path.join(newpath, i), "wb").writelines(file(path.join(basepath, i)).readlines())
for i in listdir(newpath):
fileobj = open(path.join(newpath, i), "r+")
for fcn in fts:
fileobj = fcn(fileobj)
if fileobj is not None:
fileobj.writelines(fileobj.readlines())
try:
fileobj.close()
except:
print i, "at", fcn
pass
def main():
apply_filter_transformer(path.join(pardir, pardir, "studies"),
path.abspath(path.join(pardir, pardir, "filtered_studies")),
[
#transformer_addMemo,
filter_executable,
transformer_identity,
filter_identity,
])
</code></pre>
<p>apply_filter_transformer中的fts是一个函数列表,它接受python文件对象并返回python文件对象。我遇到的问题是,当我想在一个文本对象中插入字符串时,我遇到了一个不具信息性的错误,整个上午都被卡住了。在</p>
^{pr2}$
<p>这给了我</p>
<pre><code>Traceback (most recent call last):
File "E:\mypy\reg_test\src\preprocessor\preprocessor.py", line 292, in <module>
main()
File "E:\mypy\reg_test\src\preprocessor\preprocessor.py", line 288, in main
filter_identity,
File "E:\mypy\reg_test\src\preprocessor\preprocessor.py", line 276, in apply_filter_transformer
fileobj.writelines(fileobj.readlines())
IOError: [Errno 0] Error
</code></pre>
<p>如果有人能给我更多关于错误的信息,我将非常感激。在</p>