Pythonでヒアドキュメントが使うにはstrip()
を使った以下の方法がベストだと思った
split()を使う
ヒアドキュメントを普通に書いて最後にsplit()
するやり方
print """
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="app.css">
<script src="app.js"></script>
</head>
<body>
</body>
</html>
""".strip()
出力結果はこうなる
$ python test.py
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="app.css">
<script src="app.js"></script>
</head>
<body>
</body>
</html>
中に変数を仕込む時は
format()
を使ってテンプレートみたいな感じで埋め込む
option = '<script src="app.js"></script>'
print """
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
{option}
</head>
<body>
</body>
</html>
""".format(option=option).strip()
結果はこう
$ python test.py
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="app.js"></script>
</head>
<body>
</body>
</html>
ちなみにsplit()を使わないと
前後に空白が入る。"""
の前後に改行を入れなければいいのだが、そうするとヒアドキュメントとして使いづらくなるのでsplit()
を使う方法がいいと思った。
$ python test.py
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="app.css">
<script src="app.js"></script>
</head>
<body>
</body>
</html>
Thanks
qiita.com