Python模块是什么?

一个完整大型的python程序是由模块和包的形式组织起来的,可见模块在python中的重要性。模块是一种组织型式,它许多有关联(关系)的代码组织放到单独的独立文件中。简单的说,可以把模块理解为一个包含了许多强大功能(方法)的包。在python标准库中就包含许多模块,有很多模块内的方法都会被经常使用到。

Python模块有什么作用?

1、模块内有许多函数方法,利用这些方法可以更简单的完成许多工作。

2、模块可以在文件中永久保存代码。在python交互式解释器中操作输入的代码,在退出python时是不会被保存的,而模块文件中的代码是永久存在的。

3、从实用性方面来说,模块可以跨系统平台使用,只需要Copy代码就可以。比如说,有一个全局对像,会被许多文件使用,这时为了方便把它写入一个模块中,再被调用是最好的方法。

os模块

os模块包装了不同操作系统的通用接口,使用户在不同操作系统下,可以使用相同的函数接口,返回相同结构的结果。

os.name:返回当前操作系统名称('posix', 'nt', 'os2', 'mac', 'ce' or 'riscos')

os中定义了一组文件、路径在不同操作系统中的表现形式参数,如

os.sep(文件夹分隔符,windows中是 / )

os.extsep(扩展名分隔符,windows中是 . )

os.pathsep(目录分隔符,windows中是 ; )

os.linesep(换行分隔符,windows中是 /r/n )

os中有大量文件、路径操作的相关函数,如:

listdir(path):列举目录下的所有文件

makedir(path):创建文件夹,注:创建已存在的文件夹将异常

makedirs(path):递归式的创建文件夹,注:创建已存在的文件夹将异常

remove(filename):删除一个文件

rmdir(path):删除一个文件夹,注:删除非空的文件夹将异常

removedirs(path):递归的删除文件夹,直到有一级的文件夹非空,注:文件夹路径不能以'/'结束

rename(src,dst):给文件或文件夹改名(可以改路径,但是不能覆盖目标文件)

renames(src,dst):递归式的给文件或文件名改名

walk(path):列举path下的所有文件、文件夹

os中与进程相关的操作,如:

execl(path):运行一个程序来替代当前进程,会阻塞式运行

_exit(n):退出程序

startfile(filename):用与文件关联的程序运行,关联程序打开后,立即返回

system(cmd):运行一个程序或命令,会立即返回,并在cmd执行完成后,会返回cmd退出代码

os.path:在不同的操作系统中调用不同的模块,是一个可import的模块,这个模块中提供很多有用的操作:

abspath(path):返回path的绝对路径,若path已经是绝对路径了,则保持。

basename(path):返回path中的文件名。

commonprefix(list):返回list中的统一前缀,用于获得一组字符串的左起相同的内容

dirname(path):返回path中的文件夹部分,结果不包含'/'

exists(path):文件或文件夹是否存在

getatime(path):文件或文件夹的最后访问时间,从新纪元到访问时的秒数

getmtime(path):文件或文件夹的最后修改时间

getctime(path):文件或文件夹的创建时间

getsize(path):文件或文件夹的大小,若是文件夹返回0

isabs(path):返回是否是绝对路径

isfile(path):返回是否是文件路径

isdir(path):返回是否是文件夹路径

islink(path):返回是否是快捷方式

join(path1,path2,...):将path进行组合,若其中有绝对路径,则之前的path将被删除

normcase(path):转换路径中的间隔符

normpath(path):转换路径为系统可识别的路径

realpath(path):转换路径为绝对路径

split(path):将路径分解为(文件夹,文件名)

splitext(path):将路径分解为(其余部分,.扩展名),若文件名中没有扩展名,扩展名部分为空字符串

在操作与系统不支持的对象时,抛出OSError异常。

2.sys模块

系统信息和方法模块,提供了很多实用的变量和方法:

argv:命令行参数List,第一个元素是程序本身路径

builtin_module_names:Python解释器导入的模块列表

modules.keys():返回所有已经导入的模块列表

exc_info():获取当前正在处理的异常类

exc_type、exc_value、exc_traceback:当前处理的异常详细信息

executable:python解释程序路径

exit(n):退出程序,正常退出时exit(0)

getwindowsversion():获取Windows的版本

hexversion:获取Python解释程序的版本值,16进制格式如:0x020403F0

version:获取Python解释程序的版本信息

maxint:最大的Int值

maxunicode:最大的Unicode值

modules:返回系统导入的模块字段,key是模块名,value是模块

path:返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值

platform:返回操作系统平台名称

3.built-in内置模块

eval(expr[,globals[,locals]]):执行一段代码,并返回结果

exec(expr[,globals[,locals]]):执行一段代码

execfile(file[,globals[,locals]]):执行一个文件

filter(func,list):使用函数来过滤list,返回满足要求的list元素组

getattr(obj,name[,default]):获取对象的属性,若没有该属性,则返回默认值

setattr(obj,name,value):设置对象的属性,若没有该属性,则异常

hasattr(obj,name):返回对象是否有指定属性

input([prompt]):提示控制台输入,必须输入常量或变量,若想直接输入字符串,需要使用引号括起来

raw_input([prompt]):提示控制台输入,直接输入数字或字符串

open(filename,mode):打开文件,mode可以为:w,r,a,若想同时读写,则加上+,若想以二进制读写,则加上b

reload(module):再次导入已导入过的模块

type(obj):返回一个对象的类型

zip(seq1,...):将若干个元组进行合并,长度以元组中的最短的为准

4.time模块

这个模块定义的都是和时间、时钟、计时相关的内容:

clock():返回第一次调用到当前调用时的计时,是以秒为单位的浮点数

localtime([t]):返回时间的数组,有9个元素(年,月,日,时,分,秒,星期几,当年的第几天,是否夏令时),星期一为0

mktime(tlist):是localtime的反函数,将一个9元数组转成一个浮点时间值,后3个元素,系统会自己调整

sleep(n):挂起线程n秒

strftime(fstring[,t]):格式化显示时间,fstring常用关键字:

%a,%A:星期的缩写,全拼

%b,%B:月份的缩写,全屏

%c,%x,%X:本地默认表示法(日期时间,日期,时间)

%Y(%y:2位),%m,%d,%H,%M,%S:年月日时分秒

%w:星期,0为星期天

strptime(string[,format]):将字符串解析为9元素的时间数组

time():返回当前时间值,浮点数

更高级的用法可以使用datetime模块,创建其中的date,time对象,可以进行加减操作,得出timedelta对象。

5.re模块

限定符说明:

".": 匹配任何字符

"^": 匹配开头

"$": 匹配结尾

"*": 匹配0次或更多次之前的表达式。贪婪时,匹配尽可能多次

"+": 匹配1次或更多次之前的表达式。等价于{1,}

"?": 匹配0次或1次之前的表达式。等价于{0,1}

"*?,+?,??": 非贪婪匹配

"{m,n}": 贪婪式匹配之前的表达式m到n次

"{m,n}?": 非贪婪匹配之前的表达式m到n次

"/": 将下一个字符转义

[ABC]: 指定一个字符集

[^ABC]: 指定一个不在范围内的字符集

"A|B": 匹配条件A或条件B

(pattern): 匹配括号内的表达式,并作为匹配项

(?:pattern): 匹配括号内的表达式,但不作为匹配项

(?#...): 注释,忽略

(?=pattern): 预查,若之后的内容匹配表达式,则成立

(?!pattern): 预查,若之后的内容不匹配表达式,则成立

(?Ppattern): 给一个匹配项命名

(?P=name): 匹配与之前命名的匹配项内容相同的部分

如:s='12a34a56'

re.findall('12(?P.).*(?P=xxx)56)', s)

(?P.)匹配到a,则(?P=xxx)的内容也必须为a时才pp

(?iLmsux): 设置I,L,M,S,U,or X标记

转义符说明:

/A: 匹配开头

/Z: 匹配结尾

/b: 匹配开头或结尾的空字符串,通常是指单词边界 ???

/B: 匹配非开头和结尾的空字符串,通常是指非单词边界???

/d: 匹配一个数字。等价于[0-9]

/D: 匹配一个非数字。等价于[^0-9]

/s: 匹配一个空白字符。等价于[ /t/n/r/f/v]

/S: 匹配一个非空白字符。等价于[^ /t/n/r/f/v]

/w: 匹配一个字母数字字符。等价于[a-zA-Z0-9_]

/W: 匹配一个非字母数字字符。等价于[^a-zA-Z0-9_]

//: 匹配一个反斜杠

/f: 匹配一个换页符。等价于/x0C 和 /cL

/n: 匹配一个换行符。等价于/x0A 和 /cJ

/r: 匹配一个回车符。等价于/x0D 和 /cM

/t: 匹配一个制表符。等价于/x09 和 /cI

/v: 匹配一个垂直制表符。等价于/x0B 和 /cK

/xHH: 匹配 HH,其中 HH 为十六进制转义值

/uHHHH: 匹配 HHHH,其中 HHHH 是一个用四个十六进制数字表示的Unicode字符

常用匹配:

匹配中文字符的正则表达式: [/u4e00-/u9fa5]

匹配双字节字符(包括汉字在内):[^/x00-/xff]

匹配空行的正则表达式:/n[/s| ]*/r

匹配首尾空格的正则表达式:(^/s*)|(/s*$)

匹配Email地址的正则表达式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*

匹配网址URL的正则表达式:^[a-zA-z]+://(//w+(-//w+)*)(//.(//w+(-//w+)*))*//?//S*)?$

匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

匹配国内电话号码:(/d{3}-|/d{4}-)?(/d{8}|/d{7})?

匹配腾讯QQ号:^[1-9]*[1-9][0-9]*$

模块使用:

match:

search:

sub: 替换

subn: 替换并返回替换的次数

split: 分隔

findall: 查找所有匹配项

compile:

purge:

escape:

可选参数:

I(IGNORECASE): 忽略大小写

L(LOCALE): 使用/w,/W,/b,/B时依据本地配置???

M(MULTILINE): 多行,"^"匹配每行的开头,"$"匹配每行的末尾

S(DOTALL): 使"."匹配包含换行符在内的任意字符

X(VERBOSE): 忽略空白处和注释内容

U(UNICODE): 使/w,/W,/b,/B依靠UNICODE编码

6.thread模块

7.urllib模块

8.urllib2模块

9.socket模块

10.file对象操作

open(文件名,模式,缓冲):模式可以置为(r,w,a,r+,w+等),这些模式本身不会去锁定文件,在同时使用读和写时,要使用seek来移动位置。

close():关闭的作用是置位closed,多次关闭不会引发异常。

flush():将内在缓冲的内容写入文件。

read(n):读入若干字节,无n时,读入全部。

readline(n):读入若干行,n表示读入的最长字节数。

seek(offset,where):where=0从起始位置移动,1从当前位置移动,2从结束位置移动。

tell():文件的当前位置。

truncate(n):截断文件为n个字符,无n表示从当前位置起截断。

write(str):在当前位置写入字符串。

writelines(lines):相当于给lines中的每个字符串调用write函数。

11.其它模块

filecmp.cmp(file1,file2):比较file1和file2的内容是否相同

dircmp:可以构造一个比较两个目录内容的对象,较强

getpass.getpass(prompt):让用户在控制台输入不显示的密码

getopt.getopt(args,options[,long_options]):用于解析运行参数

shutil.copy(file1,file2):将文件1复制到file2

python模块总结_Python常用模块资料总结和归纳相关推荐

  1. python dcf估值_Python 常用模块

    本节内容 模块介绍 os 模块 sys 模块 time & datetime模块 random 模块 json & picle shutil 模块 shelve 模块 xml 模块 c ...

  2. python shutil模块导入_python常用模块之shutil模块

    python常用模块之shutil模块 shutil模块,高级的文件.文件夹.压缩包处理模块 1.shutil.copyfile(src,des[,length]):将文件内容拷贝到另一个文件 In ...

  3. python常用模块用法_python常用模块(一)

    #什么是模块呢?就是用一大坨代码来完成一个功能的代码集合,是不是简单易懂 #类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个 ...

  4. python logging 控制其他模块等级_Python常用模块:logging模块介绍

    简单使用 #!/usr/local/bin/python# -*- coding:utf-8 -*-import logginglogging.debug('debug message')loggin ...

  5. python常用模块一览表_python 常用模块

    时间模块:time 与 datatime Python中表示时间的方式: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运行&qu ...

  6. Python基础语法(五)—常用模块和模块的安装和导入

    Python基础语法(五)-常用模块的使用和模块的安装和导入,本文介绍的Python模块有:os.sys.time.datetime.random.pickle.json.hashlib.shutil ...

  7. python shelve模块_python常用模块之shelve模块

    python常用模块之shelve模块 shelve模块是一个简单的k,v将内存中的数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据类型 我们在上面讲json.pickle ...

  8. python中threading模块详解及常用方法_Python常用模块功能简介(二)threading

    threading模块基本用法 threading.Thread.join函数解释 threading.Thread.join(timeout=None)调用该函数的线程会阻塞调用该线程的主线程和其它 ...

  9. python最常用的编程方式是什么_python常用模块和对象编程

    1.摘要 常用模块 对象编程 领域模型 2.常用模块 2.1shutil模块 2.1.1 shutil.copyfileobj(fsrc, fdst[, length]) 1 f = open(&qu ...

最新文章

  1. mysql 唯一索引_MySQL学会用索引,让你数据库的查询速度起飞
  2. sql查table,VIEW,sp, function 及 trigger 物件
  3. phpcms调用栏目描述_phpcms v9栏目列表调用每一篇文章内容方法
  4. Gradle自定义插件
  5. 活动 Web 页面人机识别验证的探索与实践
  6. linux不能上网如何配置
  7. CentOS7.3编译安装php7.1
  8. 国内手机厂商要复活“大哥大” 网友:想买
  9. revit二次开发概念_BIM百科 | Revit二次开发入门--创建一个简单的程序
  10. 陈国荣 计算机科学,信息工程中计算机网络技术的应用-网络技术论文-计算机论文(10页)-原创力文档...
  11. 泰迪杯数据挖掘挑战赛—数据预处理(二)
  12. bp神经网络 损失函数,bp神经网络参数优化
  13. 纯CSS3绘制的小猫笑脸动画
  14. NXP iMX8 ARM平台Distro Boot使用
  15. bzoj4094 luogu3097 最优挤奶
  16. PostgreSQL 数据加密之 pgcrypto
  17. VMware克隆虚拟机后修改UUID、MAC地址、IP和主机名
  18. 无效的月份oracle,Oracle插入失败:无效的月份
  19. 虚拟机中安装软路由RouterOS详解教程
  20. 程序猿来做一下这套试卷,看看你的实力如何!

热门文章

  1. 如何在网站集成Payssion的国外支付方式?
  2. 易语言 热键DLL封装
  3. 综合日语第一册第十三课
  4. 服务器xp系统网页打不开网页,ie浏览器打不开网页,xp系统ie打不开网页-
  5. 一本通2056:【例3.7】最大的数
  6. 用Date计算日期相差多少天
  7. java mail张_javaMail操作QQ邮箱发送邮箱 Demo
  8. Vim - 扩展命令(末行命令)模式
  9. matlab 球坐标系作图,使用Matlab的mapping tool在球坐标系下画图
  10. react 打包体积过大_create-react-app andt 打包的 js 文件过大