現在書いているコードに問題があります。
次のコードでは、NameError: グローバル名 'doc' が定義されていません。
def createHtml():
name = input("\nEnter the name for your HTML-page: ")
doc = open(name + ".html", 'w')
def createTitle():
print (t[0], file=doc) #<!DOCTYPE html>
print (t[1], file=doc) #<html>
print (t[2], file=doc) #<head>
title = input("Enter your title here: ")
print (" <title>",title,"</title>", file=doc)
print (t[3], file=doc) #</head>
ドキュメントがcreateHtml関数でのみ定義されているためです。しかし、別の関数で呼び出されたときに同じドキュメントが機能するようにするにはどうすればよいでしょうか? ユーザーがさまざまな機能から選択できるメニューがあるため、プログラムが台無しになるため、createHtml-function から除外することはできません。このような:
while True:
menu = input("\nPress 1 to enter the file name for the HTML-page"
"\nPress 2 to enter title for the HTML-page"
"\nPress 3 to start entering code in body"
"\nPress 4 to exit\n")
if menu == "1":
createHtml()
elif menu == "2":
createTitle()
elif menu == "3":
createBody()
else:
print ("Good bye!")
break
doc.close()
そして、doc は name 変数によって次のように定義されます。
name = input("\nEnter the name for your HTML-page: ")
createHtml-function から他の関数にドキュメントを取得する方法はありますか?