簡體   English   中英

最新錯誤= AttributeError:'str'對象沒有屬性'write'

[英]Latest error = AttributeError: 'str' object has no attribute 'write'

程序仍然是一團糟,給我很多錯誤....遺憾的是經過許多嘗試。

嘗試將file.write更改為f.write ...之后閱讀其他一些解決方案。 但是知道我錯了。

f = 'file'

def main():
    statement
    statement
    statement
    statement
    statement

def write_html_file():
   statement
    statement
    statement
    statement
    statement

def write_html_head():
    statement
    statement
    statement
    statement

def write_html_body():
    statement
    statement
    statement
    statement
    statement
   print('Your web page is done')   

main()

以下是用戶應該看到的示例:

輸入你的名字:First Last描述一下自己:我想成為一名優秀的蟒蛇學生......就在那里......


>用戶輸入信息后,程序應為網頁創建帶有輸入的n個HTML文件。 以下是上述輸入的示例HTML內容。

<html>
<head>
</head>
<body>
   <center>
      <h1> Firs Last </h1>
   </center>
   <hr />
   I am trying to be a great python student...just not
there yet...
   <hr />
</body>
</html>

刪除它沒用的全局file變量,對於其他函數,你應該傳遞一個指示filenamedescription的參數,如下所示:

def main():
    name = input("Enter your name: ")
    description = input("Describe yourself: ")

    f = open("my_page.html", "w")
    write_html_file(f, name, description)
    f.close()


def write_html_file(f, name, description):
    f.write(
        f"<html>\n<head>\n</head>\n<body>\n<center>\n<h1>{name}</h1>\n</center>\n<hr />{description}<hr />\n</body>\n</html>"
    )


main()

這應該修復你的屬性錯誤

html代碼可以用更好的方式編寫,但這樣可以工作,你不需要幾個函數來寫一個文件只做一個。

您可以在不同的write語句中拆分每一行,但請確保使用格式提供名稱和描述,並且可以使用字符串開頭的f.foramt()方法完成。

您需要從其他函數訪問變量。 如果我們在main方法之外聲明f,我們也可以在其他函數上使用f.write。 您的代碼將運行如下:

f = 'file'
name=input('Enter your name: ')
description=input('Describe yourself: ')

f = open('my_page.html','w')

def main():
   write_html_file()
   f.close()

def write_html_file():
   f.write('<html>\n')
   f.write('<head>\n')
   f.write('<body>\n')
   f.write('</html>\n')



def write_html_head():
   f.write('<head>\n')
   f.write('<title>My Personal Web Page</title>')
   f.write('/<head>\n')


def write_html_body():
   f.write('<body>\n')
   f.write('\t<center>\n')
   f.write('\t\t<h1>'+name+'</h1>\n')
   f.write('\t<hr />\n')
   f.write(description+'\n')
   f.write('\t<hr />\n')
   f.write('\t</center>\n')
   f.write('</body>\n')
   print('Your web page is done')   

main()

運行時輸出如下所示:

Enter your name: Sykezlol
Describe yourself: I like python
Your web page is done


<html>
<head>
<body>
</html>
<body>
    <center>
        <h1>Sykezlol</h1>
    <hr />
I like python
    <hr />
    </center>
</body>
<head>
<title>My Personal Web Page</title>/<head>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM