Pythonでヒアドキュメントを使う

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA