澳门新葡亰娱乐网站-www.142net-欢迎您

澳门新葡亰娱乐网站是因为你还没有找到一条正确的致富之路,www.142net是将所有的游戏都汇集在一起的官方平台,因为澳门新葡亰娱乐网站这个网站当中有着大量的游戏攻略,托IP定位技术,传达终端直接到达的精准传播方式。

新匍京979799com:python进阶模块,模块进阶

来源:http://www.bhtsgq.com 作者:计算机知识 人气:154 发布时间:2019-05-04
摘要:一, 时间模块 python进阶(二):常用模块,python进阶模块 前边学了多个常用的模块collections和re模块明天我们跟着学习别的多少个常用模块。都以相比常用的先头的求学或多或少也不无

一, 时间模块

python进阶(二):常用模块,python进阶模块

前边学了多个常用的模块collections和re模块明天我们跟着学习别的多少个常用模块。都以相比常用的先头的求学或多或少也不无接触比方说时间模块等。

预习:

新匍京979799com 1写三个验证码 首先 要有数字 其次 要有字母 1共 几个人 能够再次 预习题

 

一、时间模块(time)

在读书模块在此之前大家所接触的时日模块

新匍京979799com 2import time time.sleep(1) #(线程)推迟钦定的时光运作。单位为秒。 time.time() #赢妥善前光阴戳 轻巧利用

意味着时间的两种艺术

在Python中,经常有这两种办法来代表时间:时间戳、元组(struct_time)、格式化的时光字符串:

一、时间戳(timestamp) :时间戳表示的是从1967年1月3日00:00:00初步按秒计算的偏移量

二、格式化的时刻字符串(Format String):2017-八-八

新匍京979799com 3%y 两位数的年份表示(00-9九) %Y 几个人数的年度表示(000-999玖) %m 月份(0一-1二) %d 月里边的一天(0-3一) %H 2四小时制时辰数(0-二3) %I 1贰小时制时辰数(0壹-1二) %M 分钟数(00=5九) %S 秒(00-5玖) %a 本地简化星期名称 %A 本地完整星期名称 %b 本地简化的月份名称 %B 本地完整的月度名称 %c 本地相应的日期表示和时间表示 %j 年内的一天(00一-36陆) %p 本地A.M.或P.M.的等价符 %U 一年中的星期数(00-伍3)星期2为星期的起先 %w 星期(0-六),星期三为星期的发端 %W 一年中的星期数(00-53)星期一为星期的初始 %x 本地相应的日期表示 %X 本地相应的日子代表 %Z 当前时区的名目 %% %号笔者 python中时间日期格式化符号

3、元组(struct_time) :struct_time元组共有九个成分共几个因素:time.struct_time(tm_year=2017, tm_mon=8, tm_mday=8, tm_hour=16, tm_min=37, tm_sec=23, tm_wday=1, tm_yday=220, tm_isdst=0)

新匍京979799com 4tm_新匍京979799com:python进阶模块,模块进阶。year(年) 比如2011 tm_mon(月) 1 - 12 tm_mday(日) 1 - 31 tm_hour(时) 0 - 23 tm_min(分) 0 - 59 tm_sec(秒) 0 - 61 tm_wday(weekday) 0 - 陆(0意味星期一) tm_yday(一年中的第几天) 一 - 366tm_isdst(是或不是是夏令时) 默感觉-壹 python中时间日期结构化属性

python中代表时间的二种格式

新匍京979799com 5import time #数字,时间戳 print(time.time()) #在存时间 并且给计算机用的时候 #格式化的光阴字符串 print(time.strftime("%y/%m/%d %H:%M:%S")) #呈现 : 打印时间的时候 需求记录的时候 #结构化的时辰元组 print(time.localtime()) #用以Computer对时间实行总计 表示时间的格式

计算:时间戳是Computer能够识别的时间;时间字符串是人可以看懂的流年;元组则是用来操作时间的

三种格式之间的转移

新匍京979799com 6import time #时间戳-->结构化 print(time.gmtime(1500000000)) print(time.localtime(1500000000)) print(time.localtime(3000000000)) print(time.time()) #结构化-->时间戳 t = time.localtime() print(t) print(time.mktime(t)) #结构化-->格式化 t = time.localtime() s = time.strftime("%B",t) s = time.strftime("%a %b %d %H:%M:%S %Y",t) print(s) #格式化-->结构化 print(time.strptime(s,"%Y-%m-%d %H")) 时间格式转化

注意:格式化和岁月戳不能够平素调换

浮动固定格式的流年代表格式

新匍京979799com 7print(time.asctime(time.localtime())) print(time.ctime(time.time())) # Tue Aug 8 16:54:09 2017 #若是不传参再次来到当前时光 View Code


 

二、romdom模块

import random

#随机小数
random.random()      # 大于0且小于1之间的小数
random.uniform(1,3) #大于1小于3的小数

#随机整数
random.randint(1,5)  # 大于等于1且小于等于5之间的整数
random.randrange(1,10,2) # 大于等于1且小于10之间的奇数

#随机选择一个返回
random.choice([1,'23',[4,5]])  # #1或者23或者[4,5]
#随机选择多个返回,返回的个数为函数的第二个参数
random.sample([1,'23',[4,5]],2) # #列表元素任意2个组合

#打乱列表顺序
item=[1,3,5,7,9]
random.shuffle(item) # 打乱次序

 

三、sys模块

sys模块是与python解释器交互的叁个接口

sys.argv           命令行参数List,第一个元素是程序本身路径
sys.exit(n)        退出程序,正常退出时exit(0)
sys.version        获取Python解释程序的版本信息
sys.maxsize         最大的Int值
sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform       返回操作系统平台名称

import sys
print(sys.argv)
# name = sys.argv[1]
# password = sys.argv[2]
# if name == 'egon' and password == 'somebody':
#     print('继续执行程序')
# else:
#     exit()
# sys.exit()
print(sys.version)
print(sys.maxsize)
print(sys.path)
# sys.path.clear()  #清除下载的模块
import requests
print(sys.platform)

 

四、os模块

os模块是与操作系统交互的一个接口

os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
os.chdir("dirname")  改变当前脚本工作目录;相当于shell下cd
os.curdir  返回当前目录: ('.')
os.pardir  获取当前目录的父目录字符串名:('..')
os.makedirs('dirname1/dirname2')    可生成多层递归目录
os.removedirs('dirname1')    若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.mkdir('dirname')    生成单级目录;相当于shell中mkdir dirname
os.rmdir('dirname')    删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
os.listdir('dirname')    列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.remove()  删除一个文件
os.rename("oldname","newname")  重命名文件/目录
os.stat('path/filename')  获取文件/目录信息
os.sep    输出操作系统特定的路径分隔符,win下为"\",Linux下为"/"
os.linesep    输出当前平台使用的行终止符,win下为"tn",Linux下为"n"
os.pathsep    输出用于分割文件路径的字符串 win下为;,Linux下为:
os.name    输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
os.system("bash command")  运行shell命令,直接显示
os.popen("bash command)  运行shell命令,获取执行结果
os.environ  获取系统环境变量


os.path
os.path.abspath(path) 返回path规范化的绝对路径 os.path.split(path) 将path分割成目录和文件名二元组返回 
os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素 os.path.basename(path) 返回path最后的文件名。如何path以/或结尾,那么就会返回空值。
                        即os.path.split(path)的第二个元素
os.path.exists(path)  如果path存在,返回True;如果path不存在,返回False
os.path.isabs(path)  如果path是绝对路径,返回True
os.path.isfile(path)  如果path是一个存在的文件,返回True。否则返回False
os.path.isdir(path)  如果path是一个存在的目录,则返回True。否则返回False
os.path.join(path1[, path2[, ...]])  将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
os.path.getatime(path)  返回path所指向的文件或者目录的最后访问时间
os.path.getmtime(path)  返回path所指向的文件或者目录的最后修改时间
os.path.getsize(path) 返回path的大小

瞩目:os.stat('path/filename')  获取文件/目录新闻 的协会表达

新匍京979799com 8stat 结构: st_mode: inode 爱戴方式 st_ino: inode 节点号。 st_dev: inode 驻留的道具。 st_nlink: inode 的链接数。 st_uid: 全部者的用户ID。 st_gid: 全部者的组ID。 st_size: 普通文书以字节为单位的轻重;包罗等待某个特殊文件的数码。 st_atime: 上次做客的时日。 st_mtime: 最后一遍修改的光阴。 st_ctime: 由操作系统报告的"ctime"。在一些系统上(如Unix)是风靡的元数据变动的岁月,在任何系统上(如Windows)是成立时间(详细音讯参见平台的文档)。 stat 结构


 

伍、类别化模块

怎样叫体系化——将原来的字典、列表等内容转变到二个字符串的进程就叫做序列化

涉嫌转变大家就能够想到二个内置函数eval(),这么庞大的函数大家为什么不建议大家用啊?eval()能够将字符串str当成有效的表明式来求值并重临总括结果。这么强大的效果使它有多少个致命的欠缺:安全性。借使我们从文件中读出的不是3个数据结构,而是一句具备破坏性的口舌,那么结果实在不堪设设想。而利用eval将在担这几个风险。

类别化的目的

一、以某种存款和储蓄方式使自定义对象持久化;

贰、将目的从贰个地点传递到另1个地点。

三、使程序更具维护性。

1、json模块

Json模块提供了八个效益:dumps、dump、loads、load:

新匍京979799com 9d = {'1':{'k':[1,2,3,4]}} s = str(d) print(s,type(s)) print(eval(s),type(eval(s))) #不安全 import json #连串化 将d调换为字符串 #json转变完的字符串类型的字典中的字符串是由""表示的 ret_s = json.dumps(d) print(ret_s,type(ret_s)) #反连串化 将字符串格式的字典调换来二个字典 ret_d = json.loads(ret_s) print(ret_d,type(ret_d)) f = open('json_file','w') dic = {'k1':'v1','k2':'v2','k3':'v3'} #能够一向吸收句柄操作 json.dump(dic,f) # f.write(json.dumps(dic)) f.close() f = open('json_file') #可以直接收受句柄操作 dic二 = json.load(f) print(dic贰,type(dic二)) f.close() 方法简要介绍

2、pickle模块

和json不一样:你类别化的内容1经是列表也许字典,使用json模块。但即便系列化其余的数据类型,而以后你还会用python对那么些数额开始展览反类别化的话,那么就足以选取pickle。假诺是运用json类别化的其他语言能够行使,pickle不得以。

pickle模块提供了多个作用:dumps、dump、loads、load:

新匍京979799com 10import pickle tu = {1,2,3,4} pik_b = pickle.dumps(tu) print(pik_b) #二进制内容 print(pickle.loads(pik_b)) #集合 #任何三个章程的分别和json同样也是能够直接操作句柄 方法简要介绍

3、shelve模块

shelve只提供给大家叁个open方法,是用key来访问的,使用起来和字典类似。

新匍京979799com 11import shelve f = shelve.open('shelve_file') f['key'] = {'int':10, 'float':9.5, 'string':'Sample data'} #平素对文件句柄操作,就能够存入数据 f.close() f一 = shelve.open('shelve_file') f1['key']['str'] = 'Sample' #抽出数据的时候也只供给直接用key获取就可以,不过一旦key不设有会报错 print(f一['key']) f1 = shelve.open('shelve_file',writeback=True) #倘使想将修改后的结果共同到文件供给修改参数 f一['key']['str'] = 'Sample' print(f1['key']) 方法运用

利用writeback今后,会大增额外的内部存款和储蓄器消耗


 

思考导图:

图片太大放不下给我们一个链接:

密码:aX2x

 

预习答案:

新匍京979799com 12# 写1个注脚码 # 首先 要有数字 # 其次 要有字母 # 一共 4位 # 能够重新 import random #普通版 new_num_l = list(map(str,range(10))) #['0','1'...'9'] alph_l = [] #用来存字母 for i in range(陆五,九一): alph = chr(i) alph_l.append(alph) #['A'..'Z'] new_num_l.extend(alph_l) ret_l = [] #存生成的放四数字或字母 for i in range(肆): ret_l.append(random.choice(new_num_l)) # ret = random.sample(new_num_l,4) #没辙兑现第多个需要 print(''.join(ret_l)) #优化版 def myrandom(): new_num_l = list(map(str,range(10))) alph_l = [chr(i) for i in range(65,91)] #列表推导式 new_num_l.extend(alph_l) ret_l = [random.choice(new_num_l) for i in range(4)] return ''.join(ret_l) print(myrandom()) 预习答案

 

以前学了八个常用的模块collections和re模块后天我们跟着学习别的几个常用模块。都以相比常用的...

我们事先看到了函数和对象。从实质上来说,它们皆感觉了更加好的集体已经部分程序,以造福重复使用。

import导入模块

 

模块(module)也是为着一样的目标,在Python中,二个.py文件就结成一个模块。通过模块,你能够调用别的文件中的程序

一. import 寻觅路线

import sys
sys.path

例子:

In [1]: import sys

In [2]: sys.path
Out[2]: 
['',
 'E:\Python\Scripts\ipython.exe',
 'e:\python\python36.zip',
 'e:\python\DLLs',
 'e:\python\lib',
 'e:\python',
 'e:\python\lib\site-packages',
 'e:\python\lib\site-packages\IPython\extensions',
 'C:\Users\ylg\.ipython']

 一. 年华格式

引进模块

我们先写1个firest.py的问卷,内容如下:

def laugh():
    print 'HaHaHaHa'

再写2个second.py,并引入firsc中的程序:

import first

for i  in range():
    first.laugh()

在second.py中,我们采纳了first.py中定义的laugh()函数。

引进模块后,能够透过模块.对象的点子来调用引进模块中的某些对象。上边例子中,first为引进的模块,laugh()是大家所引进的靶子。
Python中还有此外的引进形式,

import a as b        # 引入模块a,并将模块a重命名为b
from a import function1        # 从模块a中引入function1对象。调用a中对象时,我们不用再说嘛模块,即直接使用function1,而不是a.function1。
from a impory *        # 从模块a中引入所有对象。调用a中对象时,我们不用再说嘛模块,即直接使用**对象**,而不是**a.对象**。

那一个引用格局,能够便宜前面包车型地铁主次书写。

路径寻找
  • 从地点列出的目录里相继查找要导入的模块文件
  • ' ' 表示目前路径

  时间戳格式 / float 数据类型 / 格林威治时间  (给机器看的)

招来路线

Python会在偏下路子中寻觅它想要搜索的模块:
壹、程序所在的公文夹
二、标准库的装置路线
三、操作喜用遭遇变量PYTHONPATH所富含的渠道

假让你有自定义的模块,也许下载的模块,能够凭仗事态放在相应的渠道,以便Python可以找到。

程序实施时导入模块路线
sys.path.append('C:\Users\ylg')
sys.path.insert(0, 'C:\Users\ylg')    #可以确保先搜索这个路径
sys.path.remove('C:\Users\ylg')   # 移除路径

例子:

In [3]: sys.path.append('C:\Users\ylg')

In [4]: sys.path
Out[4]: 
['',
 'E:\Python\Scripts\ipython.exe',
 'e:\python\python36.zip',
 'e:\python\DLLs',
 'e:\python\lib',
 'e:\python',
 'e:\python\lib\site-packages',
 'e:\python\lib\site-packages\IPython\extensions',
 'C:\Users\ylg\.ipython',
 'C:\Users\ylg']

In [5]: sys.path.remove('C:\Users\ylg')

In [6]: sys.path
Out[6]: 
['',
 'E:\Python\Scripts\ipython.exe',
 'e:\python\python36.zip',
 'e:\python\DLLs',
 'e:\python\lib',
 'e:\python',
 'e:\python\lib\site-packages',
 'e:\python\lib\site-packages\IPython\extensions',
 'C:\Users\ylg\.ipython']

  print(time.time())

模块包

能够将作用相似的模块放在同三个文书夹(比方是this_dir)中,营造2个模块包,通过

import this_dir.module

引入this_dir文件夹中的module模块。
该文件夹中必须含有3个**init.py的文本,提示Python,该公文夹为三个模块包。init.py能够是二个空文件。

2. 再度导入模块

模块被导入后,修改代码后import module无法重新导入模块,重新导入需用使用别的办法。

  • 艺术壹:重新启航 python shell
  • 方法二:使用reload()模块
  • 在python 2.x中,reload()是停放函数
  • 在python 3.0-三.三中,能够采纳imp.reload(module)
  • 在python 三.4中,imp已经丢掉,取而代之是importlib

​ 例子:

>>> import importlib
>>> import hello
HeLLO
>>> importlib.reload(hello)
Hello!

  结构化时间 / 时间对象  (从给机器看调换来给人看的超负荷)

总结

import module
module.object
__init__.py

常用模块库

​ Python有一套很有用的规范库(standard library)。标准库会随着Python解释器,一同安装在您的计算机中的。 它是Python的3个组成都部队分。那么些规范库是Python为你妄图好的利器,可以让编制程序一箭双雕。

    能够由此 . 属性名来获取对象中的值

常用标准库

标准库 说明
builtins 内建函数默认加载
os 操作系统接口
sys Python自身的运行环境
functools 常用的工具
json 编码和解码 JSON 对象
logging 记录日志,调试
multiprocessing 多进程
threading 多线程
copy 拷贝
time 时间
datetime 日期和时间
calendar 日历
hashlib 加密算法
random 生成随机数
re 字符串正则匹配
socket 标准的 BSD Sockets API
shutil 文件和目录管理
glob 基于文件通配符搜索

    print(time.strftime( ' %Y-%m-%d ' ))

hashlib

import hashlib
m = hashlib.md5()   #创建hash对象,md5:(message-Digest Algorithm 5)消息摘要算法,得出一个128位的密文
print m             #<md5 HASH object>
m.update('itcast')  #更新哈希对象以字符串参数
print m.hexdigest() #返回十六进制数字字符串

  格式化时间 / 字符串时间 / str数据类型  (主要有利于给芸芸众生看的)

使用实例

用于注册、登录....

import hashlib
import datetime
KEY_VALUE = 'Itcast'
now = datetime.datetime.now()
m = hashlib.md5()
str = '%s%s' % (KEY_VALUE,now.strftime("%Y%m%d"))
m.update(str.encode('utf-8'))
value = m.hexdigest()
print(value)

运营结果:

8ad2d682e3529dac50e586fee8dc05c0

越来越多标准库

http://python.usyiyi.cn/translate/python_352/library/index.html

    可以因此你必要的格式来突显时间

新萄京娱乐手机版 ,常用增加库

扩展库 说明
requests 使用的是 urllib3,继承了urllib2的所有特性
urllib 基于http的高层库
scrapy 爬虫
beautifulsoup4 HTML/XML的解析器
celery 分布式任务调度模块
redis 缓存
Pillow(PIL) 图像处理
xlsxwriter 仅写excle功能,支持xlsx
xlwt 仅写excle功能,支持xls ,2013或更早版office
xlrd 仅读excle功能
elasticsearch 全文搜索引擎
pymysql 数据库连接库
mongoengine/pymongo mongodbpython接口
matplotlib 画图
numpy/scipy 科学计算
django/tornado/flask web框架
xmltodict xml 转 dict
SimpleHTTPServer 简单地HTTP Server,不使用Web框架
gevent 基于协程的Python网络库
fabric 系统管理
pandas 数据处理库
scikit-learn 机器学习库

    time_obj = time.localtime()

库的安装

​ 使用pip工具就能够安装,pip是自带的。

在命令窗口输入pip就可观察众多有关pip的一声令下。

设置命令是:pip install 扩展库名

C:Usersylg>pip

Usage:
  pip <command> [options]

Commands:
  install                     Install packages.
  download                    Download packages.
  uninstall                   Uninstall packages.
  freeze                      Output installed packages in requirements format.
  list                        List installed packages.
  show                        Show information about installed packages.
  check                       Verify installed packages have compatible dependencies.
  search                      Search PyPI for packages.
  wheel                       Build wheels from your requirements.
  hash                        Compute hashes of package archives.
  completion                  A helper command used for command completion.
  help                        Show help for commands.

General Options:
  -h, --help                  Show help.
  --isolated                  Run pip in an isolated mode, ignoring
                              environment variables and user configuration.
  -v, --verbose               Give more output. Option is additive, and can be
                              used up to 3 times.
  -V, --version               Show version and exit.
  -q, --quiet                 Give less output. Option is additive, and can be
                              used up to 3 times (corresponding to WARNING,
                              ERROR, and CRITICAL logging levels).
  --log <path>                Path to a verbose appending log.
  --proxy <proxy>             Specify a proxy in the form
                              [user:passwd@]proxy.server:port.
  --retries <retries>         Maximum number of retries each connection should
                              attempt (default 5 times).
  --timeout <sec>             Set the socket timeout (default 15 seconds).
  --exists-action <action>    Default action when a path already exists:
                              (s)witch, (i)gnore, (w)ipe, (b)ackup, (a)bort.
  --trusted-host <hostname>   Mark this host as trusted, even though it does
                              not have valid or any HTTPS.
  --cert <path>               Path to alternate CA bundle.
  --client-cert <path>        Path to SSL client certificate, a single file
                              containing the private key and the certificate
                              in PEM format.
  --cache-dir <dir>           Store the cache data in <dir>.
  --no-cache-dir              Disable the cache.
  --disable-pip-version-check
                              Don't periodically check PyPI to determine
                              whether a new version of pip is available for
                              download. Implied with --no-index.

 新匍京979799com 13

 2. 

  struct_time 代表结构化时间 ; 

  Format string  表示格式化时间;

  Timestamp  表示时间戳时间.

新匍京979799com 14

 

print(time.time())    #表示此刻时间戳时间

print(time.localtime(1500000000))    #表示该时间戳的结构化时间

time_obj = time.localtime(1500000000)  #时间戳时间转换成结构化时间
format_time = time.strftime('%y-%m-%d' , time_obj)    #结构化时间
                                       #转换成格式化时间
 print(format_time)



#2018-8-8  格式化时间
struct_time = time.strptime('2018-8-8','%Y-%m-%d')    #格式化时间#转换成结构化时间
print(struct_time)
print(time.mktime(struct_time))  #结构化时间转换成时间戳时间

 

 

二, sys模块  (和Python解释器联系的)

  sys.ext()  停止程序 (强制解释器截至)

  sys.argv

   print(sys.argv)  

    结果为列表类型 

    第叁个因素是实施那个文件的时候,写在Python命令前面包车型地铁率先个值 之后的成分在实施Python

    的开发银行的时候能够写八个值(cmd中),都会被依次拉长到列表中

 

三, os模块

 

新匍京979799com 15

 

 print(os.getcwd()) 当前文件的做事路线 即 在哪推行该文件,getcwd的结果就是哪个路线 并非该

  文件路线

 成立文件夹 / 删除文件夹

  os.mkdir('dir/dir二') 创立单级文件夹  若 dir 目录存在则 dir2能够创造,不然不可能创造

  os.makedirs('dir1/dir2/dir三')  创制多级文件夹  成立多级嵌套文件夹dir壹 dir二 dir3  若文件夹存

    在则报错

    os.makedirs('dir1/dir2/dir3' , exist_ok=True)  若存在不报错,会覆盖原来的书文件夹

  os.rmdir('dir①dir2/dir三')  只可以删去一级   不可能去除非空文件夹

  os.removedirs('dir一dir2/dir叁')   递归向上删除文件夹,从最尾部发轫上扬删除空文件夹,若上拔尖目录

    有此外文件则甘休

 

 os.listdir()  查看某一门道下的装有文件及其文件夹,以列表的花样存放

本文由澳门新葡亰发布于计算机知识,转载请注明出处:新匍京979799com:python进阶模块,模块进阶

关键词: Python

最火资讯