- 此问题在此处已有答案**:
How do I execute a program or call a system command?(65个答案)
How to get output from subprocess.Popen(). proc.stdout.readline() blocks, no data prints out(4个答案)
Running shell command and capturing the output(21个答案)
4天前关闭。
我需要从命令行传递一个repos列表并检测它们的默认分支,到目前为止,我只找到了这个返回默认HEAD git remote show origin | grep 'HEAD' | cut -d':' -f2 | sed -e 's/^ *//g' -e 's/ *$//g'
的命令
然而,我不确定我应该如何在我的代码中执行它。
下面是执行命令python3 www.example.com testrepo。app.py testrepo.
下面是代码
@app.route('/test')
def get_default_branch():
repos = sys.argv[1:]
origin =repos[0]
return subprocess.Popen([f"'git', 'remote', 'show', '{origin}''" + "| grep 'HEAD' | cut -d':' -f2 | sed -e 's/^ *//g' -e 's/ *$//g''" ])
1条答案
按热度按时间iq3niunx1#
如果要捕获输出,使用API可能更容易
https://docs.python.org/3/library/subprocess.html#subprocess.check_output
对于h
shell=True
,还建议使用字符串而不是列表