一、模块python
import 模块的实质就是把导入模块的代码,从上到下执行一遍,找模块的顺序是,先找当前目录,再到环境变量里查找;正则表达式
模块分为标准模块、第三方模块、本身写的模块。其安装方式以下:spa
标准模块操作系统
python自带,无需安装,直接import便可命令行
本身写的模块调试
本身写的pythoncode
第三方模块orm
别人开发好的功能,须要安装
blog
安装方式1:递归
自动安装
pip install xxx #安装xxx模块
pip list #查看已安装的模块
pip uninstall xxx #卸载xxx模块
pip模块,在python3里自带,python2里须要手动安装
另:easy_install xxx 也能够直接安装
安装方式2:
手动安装
下载安装包,解压,进入目录
cmd里运行安装命令 python xxx install
eg:python setup.py install
二、os 模块
1 print(os.getcwd()) #取当前工做目录 2 print(os.chdir(r"e:\byz_code\day2")) #更改当前目录 3 print(os.mkdir("test1")) #建立文件夹 4 print(os.makedirs(r"test1\test2")) #递归建立文件夹,父目录不存在时建立父目录 5 print(os.removedirs(r"test1\test2")) #递归删除空目录 6 print(os.rmdir("test1")) #删除指定的文件夹,只能删除空文件夹 7 print(os.remove(r"E:\byz_code\day4\a.txt")) #删除文件 8 os.rename("test","test1") #重命名 9 print(os.sep) #当前操做系统的路径分隔符 10 print(__file__) #表明当前文件 11 print(os.path.abspath('bb.py')) #获取绝对路径 12 print(os.path.dirname()) #获取父目录 13 print(os.path.exists("hhaaa")) #目录/文件是否存在 14 print(os.path.isfile("bb.py")) #判断是不是一个文件 15 print(os.path.isdir("/usr/local")) #是不是一个路径 16 print(os.path.join("root",'hehe','haha','a.log')) #路径拼接
三、time 模块
1 time.sleep(1) #sleep1s 2 print(int(time.time())) #取当前时间戳 3 print(time.strftime("%y%m%d %H%M%S")) #将时间元组转换成格式化输出的字符串
四、sys 模块
1 sys.argv #命令行参数List,第一个元素是程序自己路径 2 sys.exit('xxxxx') #退出程序,正常退出时exit(0) 3 sys.path #返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 4 sys.platform #返回操做系统平台名称
if __name__=='__main__' #为当前调试代码,只在本文件执行
五、正则表达式
用来查找字符串,能查找比较复杂的字符串,import re 用来导入正则表达式。
1 re.search(r'is',s).group() #匹配字符串,整个内容查找,若找到则返回第一个 2 re.findall(r'is',s) #整个内容查找,返回全部值,造成一个list 3 print(re.sub(r'best','BEST',s)) #替换字符串,接收3个参数, 4 第一个是正则表达式,第二个是要替换成什么, 5 第三个就是要查找的字符串 6 若匹配不到,返回原字符串 7 re.split('is',s) #分隔字符串
经常使用表达式符号:
数量词
1 * 匹配前面的字符的0次或屡次,只是*前面的一个字符 2 + 匹配前一个字符1次或屡次,只是+前面一个字符 3 ? 匹配前一个字符1次或0次,只是?前面的一个字符 4 {m} 匹配前一个字符m次 5 {m,n} 匹配前一个字符m-n次 6 . 匹配除/n之外的其余字符 7 \ 转译符,好比想找特殊字符,就须要转移 8 | 匹配|左边或右边的字符 9 ^ 匹配以什么字符开头,多行状况下匹配每一行的开头,须要指定第三个参数re.M 10 print(re.findall(r'^b','best is goodb is bes\nbesttt is hha ',re.M))
边界匹配
1 ^ 匹配以什么字符开头,多行状况下匹配每一行的开头,须要指定第三个参数re.M 2 print(re.findall(r'^b','best is goodb is bes\nbesttt is hha ',re.M)) 3 $ 匹配以什么字符结尾,多行时匹配每一行结尾,需指定第三个参数re.M 4 print(re.findall(r'd$','besttest is good\nbest is good',re.M)) 5 \A 仅以什么字符开头,不能用于多行
print(re.findall(r'\Ab','besttest is good')) 6 \Z 仅以什么字符结尾,不能用于多行
print(re.findall(r'd\Z','besttest is good'))
预约义字符
1 \d 匹配全部数字 2 \D 匹配非数字 3 \w 匹配数字、字母、中文 4 \W 匹配特殊字符 5 \s 匹配空白字符,如\t \n \r 空格等 6 \S 匹配非空白字符
7 [xxxx] 字符集合,匹配集合里的任意一个字符 8 [A-z] 大小写字母 9 [a-z] 小写字母 10 [A-Z] 大写字母 11 [0-9] 全部数字 12 在[]里面若是用^的话表明取反,也就是不包括的这些字符串的
分组匹配
把某些规则写在一个组里,直接对这个组进行匹配,如IP地址规则
1 print(re.findall(r'\d{1,3}(?:\.\d{1,3}){3}',"192.168.1.3")) 2 findall方法里面有分组的话,默认结果就只是分组里面的内容 3 【?:】 启用“不捕捉模式”