新⼿程序员进阶必学,Python常⽤模块及⽤法汇总(内容较⼲
建议收藏)
很多新⼿程序员在学习python时,对python的模块和库总是会感到头疼,因为实在是太多了!要说记住每个模块的⽤法,任谁也不太可能,因此,我在这⾥总结了常⽤的模块和⽤法,希望能够对⼤家有所帮助!
⽂末福利(python学习⼲货总结)的详情在往期⽂章末尾:
⽬录
1、Os模块
OS模块 提供⽅便的使⽤操作系统函数的⽅法
OS常⽤⽅法(部分):
os.unlink() 删除⽂件
os.listdir() 列出指定⽬录下所有⽂件
适合初学者做的网页os.mkdir() 新建⽬录
os.makedirs() 创建多级⽬录
os.system() 执⾏操作系统命令
2、Sys模块
SYS 模块 提供可供访问由解释器使⽤或维护的变量和与解释器进⾏交互的函数。
简单来说os负责程序与操作系统的交互,提供程序访问操作系统底层的接⼝;sys主要负责程序与python解析器的交换,提供⼀系列函数与变量,⽤于操控pyhton的运⾏环境。
Sys常⽤⽅法:
sys.argv 命令⾏参数List,第⼀个元素是程序本⾝路径
float范围大小dules.keys() 返回所有已经导⼊的模块列表
sys.version 获取Python解释程序的版本信息
sys.platform 返回操作系统平台名称
sys.stdout 标准输出
sys.stdout.writelines() ⽆换⾏输出
sys.stdin 标准输⼊
ad() 输⼊⼀⾏
sys.stderr 错误输出
3、Xpath模块
XPath 是⼀门在 XML ⽂档中查信息的语⾔,它包含⼀个标准函数库。简⽽⾔之,xpath是在xml⽂档中,根据路径查元素的语法。
xpath常⽤术语:
元素:⽂档树中的标签就是⼀个元素。
二维数组定义赋值要求节点:表⽰xml⽂档树的某⼀个位置,例如 / 代表根节点,代表⽂档树起始位置,元素也可以看成某⼀位置上的节点。
属性:<title lang="eng">Harry Potter</title>中 lang就是某⼀个节点的属性。
⽂本:<title lang="eng">Harry Potter</title>中Harry Potter就是⽂本。
4、re模块
正则表达式(英语:Regular Expression,常简写为regex、regexp或RE),⼜称正则表⽰式、正则表⽰法、规则表达式、常规表⽰法,是计算机科学的⼀个概念。正则表达式使⽤单个字符串来描述、匹配⼀系列符合某个句法规则的字符串。在很多⽂本编辑器⾥,正则表达式通常被⽤来检索、替换那些符合某个模式的⽂本,简⽽⾔之,正则就是使⽤特殊字符来匹配特定⽂本达到提取数据的⽬的。
Re正则表达式常⽤语法:(部分)
'^' 匹配字符串开头
‘$’ 匹配结尾
'\d' 匹配数字,等于[0-9] re.findall('\d','电话:10086')结果['1', '0', '0', '8', '6']
'\D' 匹配⾮数字,等于[^0-9] re.findall('\D','电话:10086')结果['电', '话', ':']
'\w' 匹配字母和数字,等于[A-Za-z0-9] re.findall('\w','alex123,./;;;')结果['a', 'l', 'e', 'x', '1', '2', '3']
'\s' 匹配空⽩字符 re.findall('\s','3*ds \t\n')结果[' ', '\t', '\n']
'\S' 匹配⾮空⽩字符 re.findall('\s','3*ds \t\n')结果['3', '*', 'd', 's']
'\A' 匹配字符串开头
'\Z' 匹配字符串结尾
'\b' 匹配单词的词⾸和词尾,单词被定义为⼀个字母数字序列,因此词尾是⽤空⽩符或⾮字母数字符来表⽰的
'\B' 与\b相反,只在当前位置不在单词边界时匹配
5、Parsel模块
parsel模块众所周知是⼀个python的第三⽅库,其作⽤和功能等价于css选择器,xpath和re的集合版。和其他解析模块相⽐,例如BeautifulSoup,xpath等,parsel效率更⾼,使⽤更简单。
import requests
import parsel response = (url)
sel = parsel.) #注意这⾥的S要⼤写 # re正则
# ('正则匹配格式')) # xpath
# print(sel.xpath('xpath').getall()) #getall获取所有 # css选择器
# print(sel.css('css选择器 ::text').extract_first())#获取第⼀个
6、Urlparse模块
urlparse模块主要是⽤于解析url中的参数,对url按照⼀定格式进⾏拆分或拼接。urlparse 这个模块在 python 3.0 中 已经改名为urllib.parse。
Urlparse这个第三⽅模块中包含的函数有urljoin、urlsplit、urlunsplit、urlparse等。
如,urlparse.urlparse:
将URL分解为6个⽚段,返回⼀个元组,包括协议、基地址、相对地址等等。
import urlparse
url = urlparse.urlparse('blog.csdn/?ref=toolbar')
print url
输出结果为:
ParseResult(scheme='http', netloc='blog.csdn', path='/', params='', query='ref=toolbar', fragment='')
scheme是协议,netloc是服务器地址,path是相对路径,params是参数,query是查询的条件。
如果知道服务器的地址的话,可以以服务器的地址为基地址,拼接其他的相对路径,组成新的URL。
7、Soket模块
socket也称作‘套接字,⽤于描述IP地址和端⼝,是⼀个通信的终点。
socket起源于Unix,⽽Unix/Linux基本哲学之⼀就是“⼀切皆⽂件”,对于⽂件⽤【打开】【读写】【关闭】模式来操作。socket就是该模式的⼀个实现,socket即是⼀种特殊的⽂件,⼀些socket函数就是对其进⾏的操作(读/写IO、打开、关闭)
socket和file的区别:
file模块是针对某个指定⽂件进⾏【打开】【读写】【关闭】
socket模块是针对 服务器端 和 客户端Socket 进⾏【打开】【读写】【关闭】
8、Threading模块
该模块在较低级别thread模块之上构建更⾼级别的线程接⼝。另请参见mutex和Queue模块。
hreading提供了⼀个⽐thread模块更⾼层的API来提供线程的并发性。这些线程并发运⾏并共享内存。
下⾯来看threading模块的具体⽤法:
Thread的使⽤,⽬标函数可以实例化⼀个Thread对象,每个Thread对象代表着⼀个线程,可以通过start()⽅法,开始运⾏。
这⾥对使⽤多线程并发,和不适⽤多线程并发做了⼀个⽐较:
⾸先是不使⽤多线程的操作:jre手机版下载
代码如下:
#!/usr/bin/python
#compare for multi threads
import time
def worker():
print "worker"
time.sleep(1)
return
if __name__ == "__main__":
for i in xrange(5):
worker()
下⾯是使⽤多线程并发的操作:
python在线编辑器python3代码如下:多表查询sql语句内连接
#!/usr/bin/python
import threading
import time
def worker():
print "worker"
time.sleep(1)
return
for i in xrange(5):
t = threading.Thread(target=worker)
t.start()
可以明显看出使⽤了多线程并发的操作,花费时间要短的很多。
9、Types模块
types是什么:
types模块中包含python中各种常见的数据类型,如IntType(整型),FloatType(浮点型)等等。types常见⽤法:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论