配置文件
[Source]
Source_path = /Users/xxx/PycharmProjects/Source/list
Source_path_original = /Users/xxx/PycharmProjects/Source/original
Source_path_sg = /Users/xxx/PycharmProjects/Source/sgmodule
Source_backup_dir = /Users/xxx/PycharmProjects/Source/backup
下载模块
import os,sys
import ssl
import time
import urllib.request
def downloanUrl(urlPath, filePath, mPath):
"""
urlPath: 下载Github原始数据的url
filePath: 存放Github数据的目录
mPath: 其他格式后缀的目录
"""
list_suffix = ".list"
yaml_suffix = ".yaml"
if isinstance(urlPath, dict):
for i in urlPath.items():
a = str(i[0]).split(".")
if len(a) == 1:
urllib.request.urlretrieve(i[1], os.path.join(filePath, i[0] + list_suffix))
time.sleep(2)
else:
urllib.request.urlretrieve(i[1], os.path.join(mPath, i[0] ))
time.sleep(2)
if len(a) == 1:
list_size = os.path.getsize(os.path.join(filePath, i[0] + list_suffix))
int_list_size = int(list_size)
if int_list_size <= 90:
print("{} 数据下载过小,请查看文件是否完整.....".format(i[0]))
os.remove(os.path.join(filePath, i[0] + list_suffix))
break
else:
print("{} 正在下载.............".format(i[0]))
else:
exists_path = os.path.exists(os.path.join(mPath, i[0]))
if exists_path:
other_size = os.path.getsize(os.path.join(mPath, i[0]))
int_other_size = int(other_size)
if int_other_size < 10:
print("{} 数据下载过小,请查看文件是否完整.....".format(i[0]))
os.remove(os.path.join(mPath, i[0]))
break
print("{} 正在下载.............".format(i[0]))
else:
print("""
url的格式请用字典方式传递,如:
test = {"xxx": "https://url/xxx.py"}
""")
exit(0)
需要下载的数据模块
import time, os
from Functions import DowanloadUrls
import configparser
class githubObj(object):
"""
Source 相关代码
"""
def __init__(self):
RootPath = os.path.abspath(".")
ConfPath = os.path.join(RootPath, "Functions", "FilePath.conf")
cf = configparser.ConfigParser()
cf.read(ConfPath)
self._SourcePath = cf.get("Source", "Source_path")
self._Source_original = cf.get("Source", "Source_path_original")
self._Source_sgmodule = cf.get("Source", "Source_path_sg")
self._Source_backup = cf.get("Source", "Source_backup_dir")
self._urls = {
"xxx": "https://raw.githubusercontent.com/xxx.py",
"aa.js": "https://raw.githubusercontent.com/aa.js"
}
def StartDownload(self):
DowanloadUrls.downloanUrl(urlPath=self._urls,filePath=self._Source_original, mPath=self._Source_module)
启动下载
githubObj().StartDownload()
此代码只需要在githubObj类(url地址集合)里的数据增删改
如果目录则修改配置文件