济宁网站建设哪家好,福州市城乡建设局网站,dw课设做网站,免费注册域名和空间点赞 ➕ 评论 ➕ 收藏 养成三连好习惯 #x1f345; 联系作者#xff1a; 不吃西红柿
#x1f345; 作者简介#xff1a;CSDN 博客专家丨全站 Top 10#x1f3c6;、HDZ 核心组成员、信息技术智库公号号主
#x1f345; 简历模板、PPT 模板、学习资料、技术互助。关注… 点赞 ➕ 评论 ➕ 收藏 养成三连好习惯 联系作者 不吃西红柿 作者简介CSDN 博客专家丨全站 Top 10、HDZ 核心组成员、信息技术智库公号号主 简历模板、PPT 模板、学习资料、技术互助。关注我都给你
很多人看西红柿的博客花里胡哨的不知道从何学起为了广大人民群众的根本利益我决定写一个阅读指引按照这个指引进行学习多加练习假以时日势必能够……算了还是看你自己能学多少以及能够坚持到哪里了。加油少年毕竟收藏 学会
学习路径指引点击解锁定位适宜人群全网最全丨 Python 快速入门专栏入门级没有语言基础感兴趣的大学生全网最黑丨 Python 黑科技专栏黑科技级有一定的基础学以致用大数据知识体系丨集锦专栏工作/就业大数据领域从业者就业升职加薪信息技术智库社区吹水/互助互联网相关人员白嫖奖品丨官方活动python标准库思维导图 1、操作系统接口
os模块提供了不少与操作系统相关联的函数。 import osos.getcwd() # 返回当前的工作目录
C:\\Python34os.chdir(/server/accesslogs) # 修改当前的工作目录os.system(mkdir today) # 执行系统命令 mkdir
0
建议使用 import os 风格而非 from os import *。这样可以保证随操作系统不同而有所变化的 os.open() 不会覆盖内置函数 open()。
os常用命令 序号方法功能1os.access(path, mode) 检验权限模式2os.chdir(path) 改变当前工作目录3os.chflags(path, flags) 设置路径的标记为数字标记。4os.chmod(path, mode) 更改权限5os.chown(path, uid, gid) 更改文件所有者6os.chroot(path) 改变当前进程的根目录7os.close(fd) 关闭文件描述符 fd8os.closerange(fd_low, fd_high) 关闭所有文件描述符从 fd_low (包含) 到 fd_high (不包含), 错误会忽略9os.dup(fd) 复制文件描述符 fd10os.dup2(fd, fd2) 将一个文件描述符 fd 复制到另一个 fd22、文件通配符
glob模块提供了一个函数用于从目录通配符搜索中生成文件列表: import globglob.glob(*.py)
[primes.py, random.py, quote.py] 3、命令行参数
通用工具脚本经常调用命令行参数。这些命令行参数以链表形式存储于 sys 模块的 argv 变量。
sys.argv 可以用sys.argv获取当前正在执行的命令行参数的参数列表(list)。变量解释
sys.argv[0]当前程序名sys.argv[1]第一个参数sys.argv[2]第二个参数
len(sys.argv)-1 参数个数(减去文件名)
例如在命令行中执行 python demo.py one two three 后可以得到以下输出结果: import sysprint(sys.argv)
[demo.py, one, two, three] 4、字符串正则匹配
re模块为高级字符串处理提供了正则表达式工具。可以说是爬虫必备对于复杂的匹配和处理正则表达式提供了简洁、优化的解决方案:如果只需要简单的功能应该首先考虑字符串方法因为它们非常简单易于阅读和调试: tea for too.replace(too, two)
tea for two
re.match函数
re.match 尝试从字符串的起始位置匹配一个模式如果不是起始位置匹配成功的话match()就返回none。
函数语法
re.match(pattern, string, flags0)
函数参数说明
参数描述pattern匹配的正则表达式string要匹配的字符串。flags标志位用于控制正则表达式的匹配方式如是否区分大小写多行匹配等等。
匹配成功re.match方法返回一个匹配的对象否则返回None。
我们可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。
匹配对象方法描述group(num0)匹配的整个表达式的字符串group() 可以一次输入多个组号在这种情况下它将返回一个包含那些组所对应值的元组。groups()返回一个包含所有小组字符串的元组从 1 到 所含的小组号。5、数学计算
math模块为浮点运算提供了对底层C函数库的访问: import mathmath.cos(math.pi / 4)
0.70710678118654757math.log(1024, 2)
10.0
在实际工作中math标准库往往无法满足需求我还需要扩展库NumPy
NumPy(Numerical Python) 支持大量的维度数组与矩阵运算此外也针对数组运算提供大量的数学函数库。
NumPy 官网 NumPy6、发送邮件
有几个模块用于访问互联网以及处理网络通信协议。其中最简单的两个是用于处理从 urls 接收的数据的 urllib.request 以及用于发送电子邮件的 smtplib:
import smtplib
smtpObj smtplib.SMTP( [host [, port [, local_hostname]]] )
参数说明
host: SMTP 服务器主机。 你可以指定主机的ip地址或者域名如: runoob.com这个是可选参数。port: 如果你提供了 host 参数, 你需要指定 SMTP 服务使用的端口号一般情况下 SMTP 端口号为25。local_hostname: 如果 SMTP 在你的本机上你只需要指定服务器地址为 localhost 即可。
Python SMTP 对象使用 sendmail 方法发送邮件语法如下
SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options])
参数说明
from_addr: 邮件发送者地址。to_addrs: 字符串列表邮件发送地址。msg: 发送消息
案例
#!/usr/bin/python
# -*- coding: UTF-8 -*-import smtplib
from email.mime.text import MIMEText
from email.header import Headersender fromrunoob.com
receivers [429240967qq.com] # 接收邮件可设置为你的QQ邮箱或者其他邮箱# 三个参数第一个为文本内容第二个 plain 设置文本格式第三个 utf-8 设置编码
message MIMEText(Python 邮件发送测试..., plain, utf-8)
message[From] Header(菜鸟教程, utf-8) # 发送者
message[To] Header(测试, utf-8) # 接收者subject Python SMTP 邮件测试
message[Subject] Header(subject, utf-8)try:smtpObj smtplib.SMTP(localhost)smtpObj.sendmail(sender, receivers, message.as_string())print 邮件发送成功
except smtplib.SMTPException:print Error: 无法发送邮件 7、日期和时间
datetime模块为日期和时间处理同时提供了简单和复杂的方法。
支持日期和时间算法的同时实现的重点放在更有效的处理和格式化输出。
该模块还支持时区处理: # dates are easily constructed and formattedfrom datetime import datenow date.today()now
datetime.date(2003, 12, 2)now.strftime(%m-%d-%y. %d %b %Y is a %A on the %d day of %B.)
12-02-03. 02 Dec 2003 is a Tuesday on the 02 day of December.时间的三种存在方式时间对象时间字符串时间戳。
1字符串转datetime string 2014-01-08 11:59:58time1 datetime.datetime.strptime(string,%Y-%m-%d %H:%M:%S)print time1
2014-01-08 11:59:58
2datetime转字符串 time1_str datetime.datetime.strftime(time1,%Y-%m-%d %H:%M:%S)time1_str
2014-01-08 11:59:58
3时间戳转时间对象
time1 time.localtime()
time1_str datetime.datetime.fromtimestamp(time1) 8、数据压缩
以下模块直接支持通用的数据打包和压缩格式zlibgzipbz2zipfile以及 tarfile。 import zlibs bwitch which has which witches wrist watchlen(s)
41t zlib.compress(s)len(t)
37zlib.decompress(t)
bwitch which has which witches wrist watchzlib.crc32(s)
226805979 9、性能度量
有些用户对了解解决同一问题的不同方法之间的性能差异很感兴趣。Python 提供了一个度量工具为这些问题提供了直接答案。
例如使用元组封装和拆封来交换元素看起来要比使用传统的方法要诱人的多,timeit 证明了现代的方法更快一些。 from timeit import TimerTimer(ta; ab; bt, a1; b2).timeit()
0.57535828626024577Timer(a,b b,a, a1; b2).timeit()
0.54962537085770791
相对于 timeit 的细粒度:mod:profile 和 pstats 模块提供了针对更大代码块的时间度量工具。 10、测试模块
开发高质量软件的方法之一是为每一个函数开发测试代码并且在开发过程中经常进行测试
doctest模块提供了一个工具扫描模块并根据程序中内嵌的文档字符串执行测试。
测试构造如同简单的将它的输出结果剪切并粘贴到文档字符串中。
通过用户提供的例子它强化了文档允许 doctest 模块确认代码的结果是否与文档一致:
def average(values):Computes the arithmetic mean of a list of numbers. print(average([20, 30, 70]))40.0return sum(values) / len(values)import doctest
doctest.testmod() # 自动验证嵌入测试 ❤ 每周福利丨送 8 本正版图书 ❤ 抽奖规则每周 5 程序开奖双奖池制粉丝池 奖品池 奖品清单至少 8 本正版图书不定期CSDN 水杯、背包、日历.. Python 理论基础全网最全丨 Python 快速入门专栏 Python 练习应用全网最黑丨 Python 黑科技专栏