解决属性错误-我可以通过定义变量来做到这一点吗?

时间:2020-08-26 03:54:52

标签: python variables attributeerror

我是Python的新手,我想知道如何解决以下属性错误。我相信我需要定义/声明文件变量吗?感谢您的任何建议,这是我的脚本:

AttributeError跟踪(最近一次呼叫最近) 在

     51 
     52     # Write methods to print to Financial_Analysis_Summary
---> 53     file.write("Financial Analysis")
     54     file.write("\n")
     55     file.write("----------------------------")

AttributeError:'str'对象没有属性'write'

2 个答案:

答案 0 :(得分:0)

从您的代码和错误中,我认为您已经将变量'file'定义为字符串。另外,在类str中没有属性write()。因此,此错误的原因。有关更多信息,请包括整个脚本,即主要使用变量'file'。我认为您可以使用print()来打印上述详细信息,或者使用内部方法创建一个新类来打印所需的东西

答案 1 :(得分:0)

您似乎已经以某种方式将file定义为字符串而不是文件。您应该定义以下内容:

summary_file=open("C:/someFolder/someOtherFolder/Financial_Analysis_Summary.txt",
        mode='r+', encoding='utf8')

然后写入。
open函数的第一个参数是文件路径。 mode是您访问文件的方式:'r'使您可以读取文件,而不能读取其他任何内容(如果文件尚不存在,则抛出FileNotFoundError;其他文件仅创建它),'r+'可以让您写入文件,同时保留其先前存在的文本(尽管如果您写入文件中间,您仍然会覆盖其中的任何内容),'w'会删除之前的内容在文件中并允许您对其进行写入,'a'仅允许将文本写入文件的末尾,'w+''a+'w和{{ 1}},但它们使您可以从文件中读取内容;您可以将a添加到其中任何一个的末尾,以字节而不是字符串的形式与文件进行交互。 b仅在计划使用Unicode字符时才有意义,在这种情况下,请将其设置为与查看文件时通常使用的编码相同的编码(通常为encoding),以防止出现非ASCII字符。