属性错误:';str';对象没有属性';文件名';用Python

属性错误:';str';对象没有属性';文件名';用Python,python,Python,我是Python新手,目前正在学习,我的任务是用Python脚本读写文件。我的脚本的阅读部分似乎工作正常,但是写入部分抛出了一个错误。这可能是我做过的微不足道的事情,但下面是我的代码: class LogMessage(): def __init__(self, filename): self.filename = filename def read(self): inputFile = open(self.filename) for line in input

我是Python新手,目前正在学习,我的任务是用Python脚本读写文件。我的脚本的阅读部分似乎工作正常,但是写入部分抛出了一个错误。这可能是我做过的微不足道的事情,但下面是我的代码:

class LogMessage():
  def __init__(self, filename):
    self.filename = filename

  def read(self):
    inputFile = open(self.filename)
    for line in inputFile:
        print(line, end='')

  def write(self):
    outputFile = open(self.filename)
    #writeInput = input('What data do you wish to write?:\n')
    for line in writeInput:
            print(line,file = outputFile, end='')




filename = LogMessage('new.txt')
filename.read()
writeInput = input('What data do you wish to write?:\n')
LogMessage.write(writeInput)
读取部分工作,但会获取用户数据并将其写入文件,并出现以下错误:

Traceback (most recent call last):
File "/home/alex/workspace/Python/Learn Python/labEx9.py", line 22, in <module>
LogMessage.write(writeInput)
File "/home/alex/workspace/Python/Learn Python/labEx9.py", line 11, in write
outputFile = open(self.filename)
AttributeError: 'str' object has no attribute 'filename'
回溯(最近一次呼叫最后一次):
文件“/home/alex/workspace/Python/Learn Python/labEx9.py”,第22行,在
LogMessage.write(writeInput)
文件“/home/alex/workspace/Python/Learn Python/labEx9.py”,第11行,以书面形式
outputFile=open(self.filename)
AttributeError:“str”对象没有属性“filename”
谁能帮帮我,谢谢


Alex

您必须在“filename”上调用“write”,这是LogMessage的一个实例,而不是在LogMessage类上


除此之外,还有其他问题(例如“write”方法中未定义“writeInput”)

您必须在“filename”上调用“write”,这是LogMessage的实例,而不是LogMessage类上


除此之外,还有其他问题(例如“write”方法中未定义“writeInput”)

如果您在使用flask时遇到此类错误,请检查您的html代码(您的表单)。并将其添加到您的html中:

<form method="POST" action="" enctype="multipart/form-data">


enctype=“multipart/form data”会有所帮助。

如果您在使用flask时遇到此类错误,请检查您的html代码(您的表单)。并将其添加到您的html中:

<form method="POST" action="" enctype="multipart/form-data">


enctype=“multipart/form data”会有所帮助。

您没有将
write()
作为实例方法调用。也许您的意思是
filename.write(…)
而不是
LogMessage.write(…)
?您不是将
write()
作为实例方法调用。也许你的意思是
filename.write(…)
而不是
LogMessage.write(…)
?非常感谢,都修复了!非常感谢,都修好了!