簡體   English   中英

如何在python中使用帶有cat << EOF >的子進程運行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM