使用heredoc创建新的文本文件

时间:2013-12-17 06:41:07

标签: python heredoc

在我的shell脚本中,我使用heredoc块来动态创建文件。 什么是python等价物?

cat > myserver.pem << "heredoc"
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAnTsiYssvsuM1DRjyhqD8+ZB8ESqUFHgzeBYONp3yqjK8ICw/LRrxjXGXidAW
aPBXfktv3zN/kFsLMEFJKrJs/TLCfXG1CwFHMZzJRLM4aE6E0j6j+KF96cY5rfAo82rvP5kQdTIm
-----END RSA PRIVATE KEY-----
heredoc

我正在寻找一个简单的解决方案。我非常喜欢上面的shell脚本代码。我可以在python中“按原样”使用它吗?

1 个答案:

答案 0 :(得分:13)

您不能按原样使用代码,但您可以简单地为文本使用三引号字符串,并将其与通常的文件操作内置函数结合使用:

with open("myserver.pem", "w") as w:
    w.write("""\
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAnTsiYssvsuM1DRjyhqD8+ZB8ESqUFHgzeBYONp3yqjK8ICw/LRrxjXGXidAW
aPBXfktv3zN/kFsLMEFJKrJs/TLCfXG1CwFHMZzJRLM4aE6E0j6j+KF96cY5rfAo82rvP5kQdTIm
-----END RSA PRIVATE KEY-----
""")

如果您想模拟shell的>>运算符,则会将"a"作为模式传递给open

相关问题