使用子过程从python下载所有github项目存储库

时间:2018-08-01 04:21:33

标签: github subprocess

我正在运行一个脚本,以从特定的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()

0 个答案:

没有答案