【发布时间】:2023-04-06 21:15:02
【问题描述】:
Popen stdout 的输出与从 Shell 运行命令或使用 os.system 不同:
cmd = ['git', 'diff', commitHash, '--stat']
print Popen(cmd, stdout=PIPE).stdout.read().strip()
os.system(' '.join(cmd))
Popen 的输出:
src/tech/dalvik/sidebar.md | 10 -
.../encryption/android_crypto_implementation.md | 359 --
src/tech/encryption/index.md | 22 -
src/tech/encryption/sidebar.md | 9 -
src/tech/index.md | 58 -
src/tech/nfc/index.md | 25 -
src/tech/nfc/sidebar.md | 7 -
src/tech/sidebar.md | 5 -
templates/footer | 3 +-
templates/includes | 2 +-
templates/sidebar | 2 +-
257 files changed, 32311 insertions(+), 11358 deletions(-)
os.system 的输出(与从 Shell 运行相同)
src/tech/dalvik/sidebar.md | 10 -
src/tech/encryption/android_crypto_implementation.md | 359 ---------
src/tech/encryption/index.md | 22 -
src/tech/encryption/sidebar.md | 9 -
src/tech/index.md | 58 --
src/tech/nfc/index.md | 25 -
src/tech/nfc/sidebar.md | 7 -
src/tech/sidebar.md | 5 -
templates/footer | 3 +-
templates/includes | 2 +-
templates/sidebar | 2 +-
257 files changed, 32311 insertions(+), 11358 deletions(-)
我怎样才能让subprocess.Popen 像os.system 一样工作?
我在这里发现了一个类似的问题:Stdout captured from pipe in Python is truncated,但是设置LANG 环境变量似乎不起作用。
谢谢!
【问题讨论】:
标签: python pipe subprocess popen