在我的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中“按原样”使用它吗?
答案 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
。