Python 常用的工具包(后期继续完善)

1,095 阅读2分钟

Python 常用的工具包(后期继续完善)

提示: 如果引入包之后报错,检查一下缩进,python对代码缩进规范要求比较高

工具类

  • 图片下载
  • 文件写入
  • 数据导出
"""
    descripte:   工具包相关
    Date:  2020年9月14日16:28:51
    author: xiongchao
"""
import os
import threading
import json
import requests
from openpyxl import Workbook


class pyUtils:

    """
        函数说明: 图片下载
        Parameters:
            urlList :[
                {
                    url:"http://example.com/img/url/download...',
                    name:"图片名称
                }
            ],
            path : 下载路径
        Returns:
            file: 下载文件到指定路径
    """

    def download(url, name, path):
        try:
            print('开始下载:', name)
            content = requests.get(url).content
            path = '%s/%s.jpg' % (path, name)
            with open(path, 'wb') as f:
                f.write(content)
            print('下载完成', name)
        except:
            print("Error: system error,please try again later ")

    def img_download(urlList, path):
        if path:
            if not os.path.exists(path):
                os.mkdir(path)
                print("文件夹{}创建成功".format(path))

        if urlList:
            for list in urlList:
                print("下载地址为", list['url'])
                threading.Thread(target=pyUtils.download, args=(
                    list['url'], list['name'], path)).start()

    """ 
        函数说明: 文本写入
        Parameters:
            name: 标题
            path: 保存的路径  
            text: 要写入的问题内容
        Returns:
            file: 下载文件到指定路径
    """
    def write(name, path, text):
    # 第二个参数  数据 a  标识追加写入  
        try:
            if not text:
                with open(path, 'a', encoding='utf-8') as f:
                    f.write(name + '\n')
                    f.writelines(text)
                    f.write('\n\n')
                    print("文件{}.txt,写入完成".format(print))
        except:
            print("数据写入失败")

    """  
        函数说明: 数据导出
        Parameters:
            name: 文件名+ 保存路径    ../demo/文件导出.xlsx
            header: 表头  
            content: 数据
    """
    def excel_import(name, header, content):
        # 创建 文件对象
        wb = Workbook()
        # 新建一个表
        ws = wb.active
        # 设置表头
        if header:
            for row in range(len(header)):
                c = row + 1
                ws.cell(row=1, column=c, value=header[row])
        else:
            print("header 为空")
        # 填写表中内容
        if content:

            for listIndex in range(len(content)):
                ws.append(content[listIndex])

            wb.save(filename=data_fileName)
            print("写入成功")
        else:
            print("没有数据")



测试

# 导入自己写的工具包
from pyUtils import pyUtils

urlList = [
    {'url': 'https://www.logosc.cn/uploads/icon/2019/06/14//54538bb3-706b-40f6-bc20-63a5350b4909.png', 'name': '火焰logo图片.png'}, 
    {'url': 'https://www.logosc.cn/uploads/icon/2019/06/14//8a748e3a-faa9-4c8e-bbdb-3c535cdc60d3.png', 'name': '音乐琴行logo.png'},
    {'url': 'https://www.logosc.cn/uploads/icon/2019/06/14//7f3daa30-da19-46c4-9591-cd3b73205b7d.png', 'name': '狼咆哮logo图标'},
    {'url': 'https://www.logosc.cn/uploads/icon/2019/06/14//a2fecd51-1b09-47d6-b797-3e71cbdd4a4a.png', 'name': '音乐符号logo图标.png'}
]

pyUtils.img_download(urlList,"下载")



本文使用 mdnice 排版