我是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'
答案 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字符。