Python基础入门- Python模块和包
Posted 葛老头
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础入门- Python模块和包相关的知识,希望对你有一定的参考价值。
1.包与模块的定义与导入
1.1.什么是python的包与模块
- 包就是文件夹,包中还可以有包,也就是子文件夹
- 一个个python文件模块
1.2.包的身份证
__init__.py是每一个python包里面必须存在的文件,这个文件里面可以没有任何内容
1.3.如何创建包
- 要有一个主题,明确功能,方便使用
- 层次分明,调用清晰
- 文件里面要有包的身份认证文件,即__init__.py文件,证明该文件夹是一个包
1.4.包的导入
虽然说图示animal包里面还有子包子文件,但是import animal只能拿到当前包__init__.py里面的功能;当import具体文件时,比如import test1.py只能拿当前模块(当前文件)中的功能,同级animal包中的功能无法访问使用
1.5.模块的导入
2.第三方包
- 阿里云 http://mirrors.aliyun.com/pypi/simple/
- 豆瓣http://pypi.douban.com/simple/
- 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
- 中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
- 华中科技大学http://pypi.hustunique.com/
- 使用格式:如安装ipython版本为19.0.1的包pip install -i http://mirrors.aliyun.com/pypi/simple/ ipython==19.0.1
3.Python的datetime与time
- datetime和time这两个包为python中常用的两个时间包
- datetime常用于对日期的处理
- time常用于对时间、计时等处理
3.1.datetime
- 日期与时间的结合体-date and time
- 获取当前时间
- 获取时间间隔
- 将时间对象转成时间字符串
- 将字符串转成时间类型
3.1.1.datetime包的常用功能
获取当前时间
获取时间间隔
# coding:utf-8 from datetime import datetime from datetime import timedelta now=datetime.now() print(now,type(now)) #2021-12-27 16:19:18.586413 <class \'datetime.datetime\'> three_days=timedelta(days=3) print(type(three_days)) #<class \'datetime.timedelta\'> after_three_day=now+three_days print(after_three_day) #2021-12-30 16:19:18.586413时间对象转字符串
# coding:utf-8 from datetime import datetime now=datetime.now() now_str=now.strftime(\'%Y-%m-%d %H:%M:%S\') print(now_str,type(now_str)) #2021-12-27 16:28:06 <class \'str\'> 日期字符串无法实现日期的加减法,必须转成日期对象类型才能实现日期的加减法时间字符串转时间类型
# coding:utf-8 from datetime import datetime from datetime import timedelta now=datetime.now() now_str=now.strftime(\'%Y-%m-%d %H:%M:%S\') print(now_str,type(now_str)) #2021-12-27 16:37:11 <class \'str\'> now_obj=datetime.strptime(now_str,\'%Y-%m-%d %H:%M:%S\') print(now_obj,type(now_obj)) #2021-12-27 16:37:11 <class \'datetime.datetime\'>,转成对象的时候,后面的格式必须得跟字符串的格式匹配 three_days=timedelta(days=3) after_three_day=now_obj+three_days print(after_three_day,type(after_three_day)) #2021-12-30 16:37:11 <class \'datetime.datetime\'>3.1.2.python的常用时间格式化符号
# coding:utf-8 from datetime import datetime now=datetime.now() now_str=now.strftime(\'%Y-%m-%d %H:%M:%S %p %j %U %A\') print(now_str,type(now_str)) #2021-12-27 16:45:31 PM 361 52 Monday <class \'str\'>
3.2.time
3.2.1认识时间戳
- 1970年1月1日00时00分00秒至今的总毫秒(秒)数
- 使用timestamp代表时间戳
- 时间戳是float类型的
3.2.2认识python的time模块与常用方法
生成时间戳函数time
# coding:utf-8 import time now=time.time() print(now,type(now)) #1640595949.671707 <class \'float\'>获取本地时间函数localtime
timestamp不传代表当前时间
# coding:utf-8 import time now=time.time() time_obj=time.localtime(now) print(time_obj,type(time_obj)) #time.struct_time(tm_year=2021, tm_mon=12, tm_mday=27, tm_hour=17, tm_min=6, tm_sec=43, tm_wday=0, tm_yday=361, tm_isdst=0) <class \'time.struct_time\'>localtime对应字段介绍
# coding:utf-8 import time now=time.localtime() print(now) #time.struct_time(tm_year=2021, tm_mon=12, tm_mday=27, tm_hour=17, tm_min=1, tm_sec=12, tm_wday=0, tm_yday=361, tm_isdst=0)暂停函数sleep
# coding:utf-8 import time for i in range(10): print(i) time.sleep(1)time中的strftime与strptime
# coding:utf-8 import time now=time.time() print(now,type(now)) #1640596914.3263566 <class \'float\'> #now_str=time.strftime(\'%Y-%m-%d %H:%M:%S\',now) #TypeError: Tuple or struct_time argument required 报错,因为now时间戳是浮点型,不是time.localtime对应的时间类型 print(type(time.localtime())) #<class \'time.struct_time\'> now_str=time.strftime(\'%Y-%m-%d %H:%M:%S\',time.localtime()) print(now_str,type(now_str)) #2021-12-27 17:21:54 <class \'str\'># coding:utf-8 import time now=time.time() now_str=time.strftime(\'%Y-%m-%d %H:%M:%S\',time.localtime()) now_obj=time.strptime(now_str,\'%Y-%m-%d %H:%M:%S\') print(now_obj,type(now_obj)) #time.struct_time(tm_year=2021, tm_mon=12, tm_mday=27, tm_hour=18, tm_min=5, tm_sec=40, tm_wday=0, tm_yday=361, tm_isdst=-1) <class \'time.struct_time\'>3.2.3datetime转时间戳与datetime时间戳转时间对象的方法
datetime转时间戳
# coding:utf-8 from datetime import datetime now=datetime.now() now_stamp=datetime.timestamp(now) print(now_stamp,type(now_stamp)) #1640600288.843319 <class \'float\'>datetime时间戳以及time时间戳转时间对象
# coding:utf-8 from datetime import datetime import time now=datetime.now() now_stamp=datetime.timestamp(now) now_stamp_obj=datetime.fromtimestamp(now_stamp) print(now_stamp_obj,type(now_stamp_obj)) #2021-12-27 18:56:15.849622 <class \'datetime.datetime\'> now_time=time.time() now_time_obj=datetime.fromtimestamp(now_time) print(now_time_obj,type(now_time_obj)) #2021-12-27 18:56:15.849623 <class \'datetime.datetime\'>
4.Python内置库os与sys模块
4.1.os模块
4.1.1.os的文件与目录函数介绍
# coding:utf-8 import os current_path=os.getcwd() print(current_path) new_path=\'%s/test1/test2\' % current_path os.makedirs(new_path) os.removedirs(\'test1/test2\') os.rename(\'test1\',\'test\') data=os.listdir(current_path) print(data)4.1.2.os.path模块常用函数介绍
4.2.sys模块
以上是关于Python基础入门- Python模块和包的主要内容,如果未能解决你的问题,请参考以下文章
基础入门_Python-模块和包.setdefaultencoding前为何要reload(sys)?
基础入门_Python-模块和包.深入Celery之应用配置/独立模块配置实践?