ๅ‰็ซฏ้กน็›ฎๆทปๅŠ  ๆ‰“ๅŒ…่„šๆœฌ ้ƒจ็ฝฒ่„šๆœฌ ็”Ÿๆˆๆ”นๅŠจๆ—ฅๅฟ—่„šๆœฌ

ๆ‰“ๅŒ…่„šๆœฌ

ๅœจ package.json ๆทปๅŠ 

1
2
3
// ..
"zip": "zip -r dist-$(git rev-parse --abbrev-ref HEAD)-$npm_package_name-$npm_package_version-$(date +'%Y_%m_%d').zip dist/ && open .",
"bz": "npm run build && npm run zip"

็„ถๅŽ่ฟ่กŒ npm run bz ๅฐฑ่ƒฝ็›ดๆŽฅๆ‰“ๅผ€ๆ‰“ๅŒ…ๅฅฝ็š„zipๅŒ…็›ฎๅฝ•

้˜…่ฏปๆ›ดๅคš

pythonๅญ่ฟ›็จ‹ๆ‰ง่กŒbash่„šๆœฌ

1
2
3
4
5
6
7
8
from subprocess import check_output, STDOUT
cmd = "some cmd"

try:
cmd_stdout = check_output(cmd,stderr=STDOUT, shell=True).decode()
except Exception as e:
print(e.output.decode()) # print out the stdout messages up to the exception
print("a") # To print out the exception message

ๅ‚่€ƒ

subprocess

How to catch exception output from Python subprocess.check_output()?