2013-12-17 23 views
6

W moim skrypcie powłoki używam bloku heredoc, aby utworzyć plik w locie. Co to jest odpowiednik python?Tworzenie nowego pliku tekstowego przy użyciu heredoc

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

Szukam prostego rozwiązania. Bardzo podoba mi się powyższy kod skryptu powłoki. Czy mogę używać go "jak jest" w pythonie?

Odpowiedz

11

nie można użyć kodu jak jest, ale można po prostu użyć potrójnego cytowany ciąg do tekstu, i połączyć je ze zwykłej manipulacji plików Zabudowy:

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

Jeśli chciał symulować operatora powłoki >>, można przekazać "a" jako tryb do open.

Powiązane problemy