[英]How to use subprocess run with cat << EOF > in python
我有以下外殼
cat << EOF > ~/.aws/config
[profile default]
key=value
EOF
我在 python 中嘗試了以下操作
import subprocess
subprocess.run(['cat', '<< EOF >','~/.aws/config','\n[profile default]\nkey=value\nEOF'])
這沒有正確指定,但我不清楚應該如何指定。
您需要使用shell=True
來處理它。
subprocess.run("""cat <<EOF > ~/.aws/config
[profile default]
key=value
EOF
""", shell=True)
但是幾乎沒有理由為了寫入文件而調用 shell(或任何其他子進程)。
with open(pathlib.Path.home() / ".aws/config", "w") as f:
f.write("[profile default]\nkey=value\n")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.