【问题标题】:Writing python to a file. error: attribute?将python写入文件。错误:属性?
【发布时间】:2020-11-19 03:54:06
【问题描述】:

对于学校项目,我必须提供以下内容: 生成个人网页: 编写一个程序,询问用户(您)以下信息:

输入他/她的名字 进入学位专业 输入您未来的职业和职业的简要描述 一旦用户输入了请求的输入,程序应该创建一个 HTML 文件,使用下面的标签编写 html 文件,并在简单网页的红色文本的占位符中显示用户输入的文本。

下面的代码是我到目前为止根据我的老师要求的所有额外内容所拥有的(她/我们知道大多数情况下它运行是不必要的)...... 一旦我运行以下代码,我就会收到错误(最后发布),我根据我正在使用的书尝试了几种不同的变体(从 python 4th edt - gaddis 开始)但不幸的是我没能来有一个修复...请指教!

def main():
    # Accept name from the user
    name = input("Enter your name: ")

    # Accept degree/major from the user
    major = input("Enter your degree/major: ")

    # Accept describe yourself from the user.
    print("Enter your future career, a brief description of the career below")
    describe = input("Describe yourself: ")

    # Create a file object
    file = open(r'C:\Users\BEASTMODE\Desktop\person.html', "w")
    file.write_html
    file.write_head
    file.write_body
    file.close()
    return name, major, describe, file


def write_html(file):
    file.write("<html>")
    write_head()
    write_body()
    file.write("</html>")


def write_head(file):
    file.write("<head>")
    file.write("<title>test page</title>")
    file.write("</head>")


def write_body(file, name, major, describe):
    file.write("<body>")
    file.write("<center>")
    file.write("<h1>")
    file.write(name)
    file.write("</h1>")
    file.write("<hr />")
    file.write("<h2>")
    file.write(major)
    file.write("</h2>")
    file.write("<hr />")
    file.write(describe)
    file.write("</center>")
    file.write("<hr />")
    file.write("</body>")


main()

----- 错误:错误:------

AttributeError                            Traceback (most recent call last)
c:\Users\BEASTMODE\Desktop\HobbsC_Webpage.py in 
     49 
     50 
---> 51 main()

c:\Users\BEASTMODE\Desktop\HobbsC_Webpage.py in main()
     12     # Create a file object
     13     file = open(r'C:\Users\BEASTMODE\Desktop\person.html', "w")
---> 14     file.write_html
     15     file.write_head
     16     file.write_body

AttributeError: '_io.TextIOWrapper' object has no attribute 'write_html'

【问题讨论】:

  • 您需要在函数names之后添加括号,使它们成为函数调用,例如file.write_html()

标签: python python-3.x


【解决方案1】:

您的函数是函数,而不是方法(无论如何您都不会调用)。

# Create a file object
file = open(r'C:\Users\BEASTMODE\Desktop\person.html', "w")
write_html(file)
# write_head(file)
# write_body(file)
file.close()

注意write_html 已经调用了write_headwrite_body;您无需一次又一次地明确调用它们。 (不过,调用确实需要在 write_html 中修复。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-27
    • 2020-08-09
    相关资源
    最近更新 更多