我正在使用一个文本文件来存储我正在制作的神经网络的权重,但是我在编辑存储在这个文本字段中的权重时遇到了严重的问题。本质上,我正在制作一个非常常规格式的文件:Word + \t + Weight + \n,然后我使用以下代码运行此文本文件并获取部分:
with open(Neuron_File, 'r+') as Original_Neurons:
for Neuron in Original_Neurons:
Word_Stem = re.sub(r'^([a-z-]*)([\t]?)([0-9.]*)(\n)$', r'\1', Neuron)
Weight = float(re.sub(r'^([a-z-]*)([\t]?)([0-9.]*)(\n)$', r'\3', Neuron))
这是可行的,但是我希望能够更改权重的值,并将其写回到同一个地方的同一个文本文件中。我已经成功地创建了一个以我想要的方式修改的新文件,但是我在将它写回原始文件时遇到了一个奇怪的问题。我正在使用以下代码:
def Replace(New_File, Old_File):
for line in open(New_File):
open(Old_File, 'w').write(str(line))
但是由于某种原因,这个函数只是在文件中的某个点中断。前 80% 传输正常,但随后它在一行中间看似随机的点切断文件。有任何想法吗?我知道还有其他关于类似主题的问题,但它们似乎都不适用于我的情况,而且我找不到像我遇到的那样的另一个错误。
问题是可导航的,但我的主要兴趣是这个错误的根源是什么。我从来没有见过这样的东西,这让我很感兴趣,因为我不知道发生了什么,希望这里有人能有更多的想法。