在线获取颜色代码网站北京网络营销公司哪家好
本篇文章给大家谈谈python官网下载第三方库,以及python库安装包下载,希望对各位有所帮助,不要忘了收藏本站喔。
使用python完成下载资源到本地的操作
效果展示
code
- 主模块
# -*- coding: utf-8 -*-import downLoad#下载模块
import fileUtils#文件模块rootPath = "https://domainName/download/"#资源链接-资源名
fileName = "tank.apk"#文件名
dst = "/Users/vscodeWork/python/"#本地需要存的文件路径
def solve_files():fileUtils.mkdirs(fileUtils.filedir(dst+fileName))if fileUtils.exists(dst+fileName):fileUtils.deleteFile(dst+fileName)try:downLoad.downloadFile(rootPath+fileName,dst)except Exception as e:print(str(e))def main():solve_files()main()
- 资源下载模块
# -*- coding: utf-8 -*-
# pip安装 - 安装requests模块
# sudo python3 -m pip install --upgrade pip
# sudo pip3 install requests
import os
import sys
try:import requests
except Exception as e:print('引用[requests]库错误,请依次执行如下命令安装:')print('sudo python3 -m pip install --upgrade pip')print('sudo pip3 install requests')sys.exit(1)
import fileUtilsdef get(url, params=None, headers=None):# headers = {'applicationkey': 'cc-admin'}# r = requests.get(url, headers=headers, params=params)r = requests.get(url, headers=headers, params=params)if int(r.status_code) == 200:return r.contentelse:raise Exception("请求接口(GET)错误码:" + str(r.status_code) + " " + url)def post(url, params=None):r = requests.post(url, data=params)if r.status_code == 2010:return r.contentelse:raise Exception("请求接口(POST)错误码:" + str(r.status_code) + " " + url)def downloadFile(url, dstDirectory=None, dstFile=None):r = requests.get(url)if r.status_code == 200:if dstFile == None:dstFile = dstDirectory + os.path.sep + \fileUtils.filebasename(url)dstFile = os.path.abspath(dstFile)# print("dstFile:" + dstFile)stream = open(dstFile, 'wb')stream.write(r.content)stream.close()else:raise Exception("下载文件错误码:" + str(r.status_code) + " " + url)
- 文件IO模块
# coding=utf-8
import os
import io
import time
import codecs
import shutil
import hashlibdef mkdirs(path):if not os.path.exists(path):os.makedirs(path)def rename(src, dst):if not os.path.exists(src):returnddirname = os.path.dirname(dst)if not os.path.exists(ddirname):os.makedirs(ddirname)os.rename(src, dst)def copyFile(src, dst):dirname = os.path.dirname(dst)if not os.path.exists(dirname):os.makedirs(dirname)shutil.copy(src, dst)def copyDirectory(src, dst):if not os.path.exists(dst):os.makedirs(dst)if os.path.exists(src):for root, _, files in os.walk(src):for file in files:src_file = os.path.join(root, file)dst_file = os.path.join(dst, os.path.relpath(src_file, src))copyFile(src_file, dst_file)def recursiveDirectory(path, includeFunc=None):listFile = []if not os.path.exists(path):returnfor root, _, files in os.walk(path):for file in files:filepath = os.path.join(root, file)if includeFunc == None or includeFunc(filepath):listFile.append(filepath)# print "file:", os.path.join(root, file)return listFiledef deleteFile(filename):try:os.remove(filename)return Trueexcept Exception as e:print(e)return Falsedef deleteDirectory(path):for root, directories, files in os.walk(path, topdown=False):for file in files:os.remove(os.path.join(root, file))for directory in directories:os.rmdir(os.path.join(root, directory))if os.path.isdir(path):os.rmdir(path)def readFile(filename):if not os.path.exists(filename):returnfile = open(filename, "r")content = file.read()file.close()return contentdef saveFile(filename, content):try:file = open(filename, 'w+')file.write(content)file.close()except Exception as e:raise Exception("写文件失败:" + filename + "\t" + str(e))def exists(filename):return os.path.exists(filename)def readFileWithUTF8(filename):if not os.path.exists(filename):returnfile = open(filename, "rb")content = file.read().decode('utf-8')file.close()return contentdef readFileWithGBK(filename):if not os.path.exists(filename):returnfile = io.open(filename, "r", encoding='gbk')content = file.read()file.close()return contentdef writeFile(filename, content):dirname = os.path.dirname(filename)if not os.path.exists(dirname):os.makedirs(dirname)return# file = open(filename, "w+", 'utf-8')# file.write(content)file = codecs.open(filename, "w+", 'utf-8')file.write(content.decode('unicode_escape'))file.close()def writeFileUTF8(filename, content):dirname = os.path.dirname(filename)if not os.path.exists(dirname):os.makedirs(dirname)returnfile = codecs.open(filename, "w+", 'utf-8')file.write(content)file.close()def md5(filename):if not os.path.exists(filename):returnm = hashlib.md5()with open(filename) as f:while True:data = f.read(4096)if len(data) == 0:breakm.update(data)return m.hexdigest()def md5WithBuffer(buffer):m = hashlib.md5()m.update(buffer)return m.hexdigest()def size(filename):if not os.path.exists(filename):returnreturn os.path.getsize(filename)def md5Random(extra=1):now = int(round(time.time() * 1000))m = hashlib.md5()m.update(str(now) + extra)return m.hexdigest()def now():return int(round(time.time() * 1000))# 文件扩展相关
# 路径分隔符:os.path.sep
# 参数:abc/aaa.json
# 返回:aaa.json
def filebasename(path):_, file = os.path.split(path)# basename = os.path.basename(path)return file# 参数:abc/aaa.json
# 返回:.json
def fileext(path):_, ext = os.path.splitext(path)return extdef filedir(path):dir, _ = os.path.split(path)# dir = os.path.dirname(path)return dir