2013-12-17 31 views
6

在我的shell腳本中,我使用heredoc塊來即時創建文件。 什麼是python等價物?使用heredoc創建一個新的文本文件

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

我要尋找一個簡單的解決方案。我非常喜歡上面的shell腳本代碼。我可以在python中「按原樣」使用它嗎?

回答

11

您不能使用代碼,是的,但你可以簡單地用一個三引號字符串文本,並與通常的文件操作結合起來的內置插件:

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的模式。