python multiline引用语法错误

时间:2016-03-17 15:05:23

标签: python

我目前正在制作一个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>
''')

2 个答案:

答案 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
})