在windows的cmd中是不能运行bash的,我们需要利用git工具的bash来运行,但是用subprocess.run()会出问题,例如不能使用已经添加到环境变量的命令,如nvm、adb等;因此改用subprocess.Popen()
批量输入并且最后输出所有结果
bash_path用于定位你的git工具的bash,参数cwd=用于定位你的工作目录,和在文件夹中右键git bash here是一样的效果。
输入的命令可以带有空格,但是必须在最后加上\n
example-11 2 3 4 5 6 7 8 9 10 11 12 13
| import subprocess bash_path = r'F:\Program Files\Git\bin\bash.exe' subp = subprocess.Popen(bash_path,stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.PIPE,encoding='utf8',cwd='$your_path')
subp.stdin.write('nvm -v\n') subp.stdin.flush() subp.stdin.write('nvm -v\n') subp.stdin.flush() subp.stdin.write('nvm -v\n') subp.stdin.flush()
subp.stdin.close() print(subp.stdout.read())
|
output