• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
喵了个喵0507
博客园             管理     
【python】第一模块 步骤二 第四课、自定义包的实现

第四课、自定义包的实现

一、课程介绍

   课程概要

  • 什么是虚拟环境
  • 虚拟环境  virtualenv
  • 虚拟环境  pipenv
  • 实战——模块与包

  课程目标

  • 掌握虚拟环境的安装与使用
  • 掌握python不同版本的虚拟环境的安装和使用
  • 动手实现封装自己的模块和包

  学习建议

  • 多动手
  • 多思考
  • 多实践

 

二、实操:实现自定义包

  2-1 实战自定义包(1)

   实战——实现自己的工具包

  • 包含trans和work两个包
  • 两个包都有同样的tools模块
  • 包含constants常量模块
  • 模块中会引用常量模块提供的常量值
  • 在测试模块中可以分别调用tools相关方法
 1 from datetime import datetime
 2 import random
 3 
 4 
 5 def gen_trans_id(date=None):
 6     """
 7     根据所传入的时间得到一个唯一的交易流水ID
 8     :param date:
 9     :return:
10     """
11     # 如果没有传入时间,则使用系统当前的时间
12     if date is None :
13         date = datetime.now()
14 
15     # 怎样保证字符串的唯一
16     # 日期+时间+毫秒+随机数(6位随机数)
17     # return '{0}{1}'.format(date.strftime('%y%m%d%H%M%S%f'), random.randint(100000, 999999))
18     return date.strftime('%y%m%d%H%M%S%f')+str(random.randint(100000, 999999))
 1 from datetime import datetime
 2 
 3 from trans.tools import gen_trans_id
 4 
 5 
 6 def test_trans_tool():
 7     """ 测试trans包下的tool模块"""
 8     id1=gen_trans_id()
 9     print(id1)
10     date = datetime(2019, 10, 18, 20, 15, 24)
11     id2 = gen_trans_id(date)
12     print(id2)
13 
14 if __name__ == '__main__':
15     test_trans_tool()

结果:

 

  2-2 实战自定义包(2)

 1 from datetime import datetime
 2 
 3 from trans import tools as trans_tools
 4 from work import tools as work_tools
 5 
 6 def test_trans_tool():
 7     """ 测试trans包下的tool模块"""
 8     id1 = trans_tools.gen_trans_id()
 9     print(id1)
10     date = datetime(2019, 10, 18, 20, 15, 24)
11     id2 = trans_tools.gen_trans_id(date)
12     print(id2)
13 
14 def test_work_tool():
15     """测试work模块"""
16     file_name = 'C:\\Users\\19342\\Desktop\\gzb.XLSX'
17     rest = work_tools.get_file_type(file_name)
18     print(rest)
19 
20 if __name__ == '__main__':
21     test_trans_tool()
22     test_work_tool()
 1 import os.path
 2 import constants
 3 
 4 
 5 def get_file_type(file_name):
 6     """
 7     根据文件的名称来判断文件的类型
 8     :param file_name:str 文件名称
 9     :return:int 文件类型
10     -1:未知文件类型
11     0:图片类型的文档
12     1:word文档
13     2:execl文档
14     3:ppt文档
15     """
16     # 默认文件是未知类型的
17     result = constants.FILE_TYPE_UNKNOWN
18     # 传进来的必须是一个文件的名称
19     if not os.path.isfile(file_name):
20         return result
21     path_name, ext = os.path.splitext(file_name)
22     # 将文件的后缀名统一写成小写
23     ext = ext.lower()
24     # 图片类型的文件
25     if ext in('.png', '.jgp', '.gif', '.bmp'):
26         result = constants.FILE_TYPE_IMG
27     # word文件
28     elif ext in ('.doc', '.docx'):
29         result = constants.FILE_TYPE_DOC
30     # execl文件
31     elif ext in ('.xls', '.xlsx'):
32         result = constants.FILE_TYPE_EXCEL
33     # ppt文件
34     elif ext in ('.ppt', '.pptx'):
35         result = constants.FILE_TYPE_PPT
36     return result

结果:

 

三、虚拟环境的安装及使用

  3-1虚拟环境概述

   什么是虚拟环境

  • 建立在宿主环境上的独立容器
  • 具备和宿主环境相同的功能
  • 快速创建和删除、方便管理

  虚拟环境的好处

  • 独立——相互隔离,互不影响
  • 纯净——只有我一个项目用的包和依赖,好管理
  • 方便——摒弃频繁安装/卸载包和依赖

 

  3-2 python虚拟环境之virtualenv
   第三方模块——安装
  • pip install django
  • python setup.py install

  虚拟环境-virtualenv

  • pip install virtualenv
  • 进入/退出虚拟环境:activate/deactivate
  • pip install virtualenvwrapper-win
  • 虚拟环境自由切换:workon vname

操作步骤:http://file.mukewang.com/class/assist/921/7986386/8srsb2nv7k2/%E8%99%9A%E6%8B%9F%E7%8E%AF%E5%A2%83.pdf

  3-3 python虚拟环境之pipenv

   虚拟环境-pipenv

  • pip install pipenv
  • 创建及使用虚拟环境
    • mkdir py2.7
    • cd py2.7
    • pipenv --python2.7
    • pipenv install reqeusts
    • pipenv shell
    • exit

四、课程总结

  4-1 课程总结

  课程总结

  •  什么是虚拟环境
  • 虚拟环境virtualenv
  • 虚拟环境 pipenv
  • 实战-模块与包

  知识点回顾

  虚拟环境-virtualenv

  • pip install virtualenv
  • 进入/退出虚拟环境:activate/deactivate
  • pip install virtualenvwrapper-win
  • 虚拟环境自由切换:workon vname

  虚拟环境-pipenv

  • pip install pipenv
  • 创建及使用虚拟环境
    • mkdir py2.7
    • cd py2.7
    • pipenv --python2.7
    • pipenv install reqeusts
    • pipenv shell
    • exit

  实战--实现自己的工具包

  • 包含trans和work的两个包
  • 两个包都有同样的tools模块
  • 包含constants常量模块
  • 模块中会引用常量模块提供的常量值
  • 在测试模块中可以分别调用tools相关方法

  重点知识

  •  什么是虚拟环境
  • 在什么场景下需要虚拟环境
  • 如何安装和切换
  • 模块与包的实战

  难点知识

  • 对虚拟环境的理解和使用
  • 动手实践包与模块
posted on 2019-09-27 21:17  喵了个喵0507  阅读(264)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3