【问题标题】:creating a new text file using heredoc使用 heredoc 创建一个新的文本文件
【发布时间】:2014-01-04 19:51:47
【问题描述】:

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

【问题讨论】:

    标签: python heredoc


    【解决方案1】:

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

    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 的 &gt;&gt; 运算符,您可以将 "a" 作为模式传递给 open

    【讨论】:

      猜你喜欢
      • 2019-08-05
      • 2018-08-04
      • 1970-01-01
      • 1970-01-01
      • 2011-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多