Python fwrite函数错误:像对象这样的字节是必需的,而不是str

时间:2018-07-26 04:33:00

标签: python python-3.x

有几个错误“需要一个类似字节的对象,而不是'str'。但是它们都与我的无关。我使用open(filename,“ w”)而不是“ wb”打开文件。代码长约150行,代码的开头是将命令行输入分配给解析器参数。

args.result是一个空的txt文件,我要将其写入结果。 我用open打开它。

我认为以下代码足以说明我的问题。在第65行之前,代码正在编写两个要在计算中使用的函数,但我认为它应该与错误无关。

在代码中,我在命令终端中手动创建文件'save / results / result.txt'。然后,我在第132行中打开文件。 enter image description here enter image description here 剩下的代码是 enter image description here enter image description here 158行运行正常,这是一个有趣的错误。可以将“开始训练\ n”写入文件。然后对于第165行,在第一次循环期间,可以,并且可以将“ aa \ n”写入文件。但是在第二个循环中,程序以错误“字节状”对象而不是'str'结尾。错误消息如下。 enter image description here

任何人都可以提供帮助吗? 非常感谢。

1 个答案:

答案 0 :(得分:-1)

我从未遇到过类似代码的麻烦,但是如果您想快速解决问题,我敢打赌制作一个名为f_text的字符串,并将其添加到for循环中,然后将其全部写入最后一个文件中for循环的迭代将是解决该问题的简单方法。

IE:

f_text = ""
for epoch in range(your_range):
    # Do calculations
    print(the_stuff_you_wanted_to)
    f_text += the_stuff_you_wanted_to + "\n"
f.write(f_text)

我主要是为了快速解决而发布此内容。我觉得可能有更好的解决方案,如果您显示更多代码,例如实际初始化f的地方,可能会有所帮助。