我目前正在制作一个Python脚本,用于将html代码打印到.html文档中。我通过三重引号使用多行字符串。问题是我需要在代码e中包含变量。 G。 “fagTitle1”等。但是,当我尝试结束多行字符串时,它告诉我存在语法错误。
File "quickstart.py", line 98
<h2>'''("'")''' + '''(fagTitle1)''' + '''("'")'''</h2>
^
SyntaxError:语法无效
def filerino():
file=open("plan.txt", "r")
file=open("App.html", "w")
file.write('''
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>InstaPlan</title>
<link rel="stylesheet" href="main.css">
</head>
<body>
<div class="content">
<div class="fag1"
<h2>'''("'")''' + '''(fagTitle1)''' + '''("'")'''</h2>
<p>("'") + (fagContent1) + ("'")</p>
</div>
<div class="fag2"
<h2>("'") + (fagTitle2) + ("'")</h2>
<p>("'") + (fagContent1) + ("'")</p>
</div>
<div class="fag3"
<h2>("'") + (fagTitle3) + ("'")</h2>
<p>("'") + (fagContent1) + ("'")</p>
</div>
</div>
</body>
</html>
''')
答案 0 :(得分:2)
因为您已在字符串中使用三重单引号,所以您将无法使用三重单引号来包装字符串。只需将外部三重单引号更改为三倍双引号:
file.write("""
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>InstaPlan</title>
<link rel="stylesheet" href="main.css">
</head>
<body>
<div class="content">
<div class="fag1"
<h2>'''("'")''' + '''(fagTitle1)''' + '''("'")'''</h2>
<p>("'") + (fagContent1) + ("'")</p>
</div>
<div class="fag2"
<h2>("'") + (fagTitle2) + ("'")</h2>
<p>("'") + (fagContent1) + ("'")</p>
</div>
<div class="fag3"
<h2>("'") + (fagTitle3) + ("'")</h2>
<p>("'") + (fagContent1) + ("'")</p>
</div>
</div>
</body>
</html>
""")
答案 1 :(得分:0)
我假设你试图在你的变量周围放置单引号'
,如果没有,只需删除它们......
你需要在连接之间添加+ ..
'''...<h2>''' + "'" + fagTitle1 + "'" + '''</h2>...'''
或者,使用string.format()可以获得更清晰的代码:
'''
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>InstaPlan</title>
<link rel="stylesheet" href="main.css">
</head>
<body>
<div class="content">
<div class="fag1"
<h2>'{fagTitle1}'</h2>
<p>'{fagContent1}'</p>
</div>
<div class="fag2"
<h2>'{fagTitle2}'</h2>
<p>'{fagContent1}'</p>
</div>
<div class="fag3"
<h2>'{fagTitle3}'</h2>
<p>'{fagContent1}'</p>
</div>
</div>
</body>
</html>
'''.format({
fagTitle1=fagTitle1,
fagTitle2=fagTitle2,
fagContent1=fagContent1
})