我正在运行一个脚本,以从特定的github项目下载所有脚本。当我在终端中运行它(字符串fstring是命令)时,它可以工作,但是当我使用子进程从python执行它时,它不起作用。由于所有github存储库下载,运行时间很长。尝试过各种版本-使它通过子流程运行的最佳方法是什么?还是在GitPython中有更好的版本?
import os
import subprocess
company_repo_dir='litecoin'
repo_github_id= 'litecoin-project'
repo_dir_path=f'/home/ubuntu/github_repos/{company_repo_dir}'
ost.create_folder(repo_dir_path)
fstr= f"cd {repo_dir_path}/ && curl -s
https://api.github.com/orgs/{repo_github_id}/repos?per_page=200" + """|
ruby -rubygems -e 'require "json"; JSON.load(STDIN.read).each { |repo|
%x[git clone #{repo["ssh_url"]} ]}'"""
p = subprocess.Popen(fstr, shell=True, stdout=subprocess.PIPE, stderr=
subprocess.PIPE)
out, err = p.communicate()