2013-12-17 10 views
6

Kabuk betiğimde, bir dosya oluşturmak için heredoc bloğunu kullanıyorum. Python eşdeğeri nedir?heredoc kullanarak yeni bir metin dosyası oluşturma

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

Basit bir çözüm arıyorum. Yukarıdaki kabuk komut dosyasını gerçekten seviyorum. Python'da "olduğu gibi" kullanabilir miyim?

cevap

11

olduğu gibi Sen kodu kullanabilirsiniz, ancak sadece yerleşik ins metin için bir üçlü alıntılanan dizeyi kullanın ve her zamanki dosya manipülasyon ile birleştirebilirsiniz:

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

Eğer Kabuğun >> operatörünün benzetimini yapmak istedim, "a" kodunu open moduna geçirdiniz.