当前位置: 首页 > news >正文

一家专做中式设计的网站/百合seo培训

一家专做中式设计的网站,百合seo培训,域名解析 网站建设,网站公众号小程序开发公司一、模块import 模块的实质就是把要导入模块里面的代码,从上到下执行一遍,找模块的顺序是,先从当前目录下找,找不到的话,再环境变量里面找导入的模块名字最好不要有.,a.import sysprint(sys.path)#当前环境…

一、模块

import 模块的实质就是把要导入模块里面的代码,从上到下执行一遍,找模块的顺序是,先从当前目录下找,找不到的话,再环境变量里面找

导入的模块名字最好不要有.,a.

import sys

print(sys.path)#当前环境变量有哪些,针对python,并不是整个系统

标准模块:

python自带的,不需要安装的,直接import就能用的

自己写的模块:

也就是自己写的python

第三方模块:

别人已经开发好的功能,需要安装的

利用pip python安装目录scripts下有pip命令,要用这个命令就得把scripts目录加入到环境变量

安装方式第一种:

这是操作系统命令,不是在python命令行里面执行

pip install xx 安装某个模块

pip list 查看已经安装的模块

pip uninstall xxx 卸载 模块

pip这个模块,在python3里面是python自带的,安装完python就能直接用,但是在python2里面是没有这个模块的,需要你手动安装才能用

easy_install requests也可以安装,这个也是傻瓜式安装试,python3自带,python2需要手动安装

第二种方式,手动安装:

1.先下载安装包,直接百度搜,比如说python requests 模块

2.解压安装包

3.在解压的目录下执行python setup.py install

2. os模块

import os #导入os模块

print(os.getcwd())

print(os.chdir(r"e"\byz_code\day2")) #更改当前目录

print(os.mkdir(r"test1")) #创建文件夹

print(os.makedirs(r"test1\test2")) # 递归创建文件夹,父目录不存在时创建父目录

print(os.removedirs(r"test1\test2"))#递归删除空目录

print(os.rmdir("test1")) # 删除指定的文件夹,只能删除空文件夹

print(os.remove(r"E:\byz_code\day4\a.txt"))#删除文件

r是代表原字符,代表原样输出,不转义

os.rename("test","test1")#重命名

print(os.sep)#当前操作系统的路径分隔符

print(os.listdir(".")) #列出一个目录下的所有内容

print(__file__)#代表当前文件

print(os.path.abspath('bb.py'))#获取绝对路径

print(os.path.dirname)#获取父目录

print(os.path.dirname(os.path.dirname(__file__)))#获取父目录

print(os.path.exists('hhaaa'))#目录/文件是否存在

print(os.path.isfile('bb.py'))#判断是否是一个文件

print(os.path.isdir("/usr/local"))#是否是一个路径

print(os.path.join("root",'hehe','haha','a.log')) #拼接成一个路径

sys.path.append(r'e:\002\hhaa') 添加环境变量不能写死

sys.path.append(os.path.dirname(__file__)) 把父目录加到环境变量

3.sys模块

import sys #导入sys模块

sys.argv #命令行参数list,第一个元素是程序本身路径

sys.exit('xxx') #退出程序,正常退出时exit(0) xxx为提示信息

sys.version #获取Python解释程序的版本信息

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

sys.platform #返回操作系统平台名称

sys.stdout.write('please:') #向屏幕输出一句话

val = sys.stdin.readline()[:-1] #获取输入的值

二、软件开发规范

软件开发规范目录及文件说明

bin:可执行文件,程序入口

conf:放配置文件

core:核心文件

data:数据存储文件

logs:日志文件

README.md:说明文件

目录结构如图所示

import os,sys

path = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #当前目录

#sys.path.append(path) #末尾添加,但如果有其它路径中有相同模块,先找到就直接返回,不往下找了,最好用insert放到首位

sys.path.insert(0,path) #放到环境变量首位,避免有相同模块,找不到

#sys.path.pop(0)#删除环境变量

如果目录已经加到环境变量,可以右键Mark Directory as-->Source Root,这样使用的时候会用方法提示

3.时间、日期操作

time和datetime模块主要用于操作时间

时间有三种表示方式,一种是时间戳、一种是格式化时间、一种是时间元组

import time,datetime

time.sleep(1) 休息几秒

print(int(time.time())) # 获取当前时间戳 time.time()是float类型的,要用就转一下

print(time.strftime("%Y.%m.%d %H:%M:%S")) # 将时间元组转换成格式化输出的字符串

%Y年 %m 月份 %d天 %H小时 %M代表分钟 %S代表的是秒

print(time.struct_time) # 时间元组

print(time.asctime()) # 时间元转换成格式化时间

print(time.ctime()) # 时间戳转换成格式化时间

print(datetime.datetime.now()) # 当前时间格式化输出

print(datetime.datetime.now() + datetime.timedelta(3)) # 3天后的时间

print(datetime.datetime.now() + datetime.timedelta(-3)) # 3天前的时间

三、正则表达式

正则表达式就是用来查找字符串的,它能查找规则比较复杂的字符串

re模块是正则表达式模块,用来匹配一些特定的字符串

import re

1.常用的匹配语法

re.match 从头开始匹配

re.search 匹配包含

re.findall 把所有匹配到的字符放到以列表中的元素返回

re.splitall 以匹配到的字符当做列表分隔符

re.sub 匹配字符并替换

(1)match方法

match方法接收3个参数,第一个是匹配的规则,也就是正则表达式,第二个是要查找的字符串,

第三个参数不是必填的,用于控制正则表达式的匹配方式,看下面正则表达式的匹配模式。是从字符串的第一个单词中匹配字符串,如果匹配到返回一个对象,如果匹配不到,则返回None

import re

s = 'besttest is good'

print(re.match(r"be",s)) #打印的是一个对象

#字符串前面加r代表原字符串

print(re.match(r"be",s).group()) #查看结果

print(re.match(r'is',s))

结果:

be

None

(2)search方法

search方法的参数和match一样,和match方法不一样的是,match是从字符串里面的第一个单词里面找,而search方法则是从字符串的整个内容里面找,如果找到了就返回第一个,找不到就返回None

import re

s = 'besttest is good is is is '

print(re.search(r'is',s).group())

结果:is

查找到就返回,只返回一个,可以用来判断

(3)findall方法

findall方法的参数上面的match、search一样,和他们不一样的是,findall会返回所有一个list,把所有匹配到的字符串,放到这个list里面,如果找不到的话,就返回一个空的list

import re

s = 'besttest is good is is is '

print(re.findall(r'is',s))

结果:['is', 'is', 'is', 'is']

print(re.findall(r'sss',s))

结果:[] #找不到结果为一个空列表

返回结果为一个list

(4)sub方法

sub方法和字符串的replace方法一样,是用来替换字符串的,把匹配到的值替换成一个新的字符串,接收3个参数,第一个是正则表达式,第二个是要替换成什么,第三个就是要查找的字符串,会返回一个新的字符串,如果匹配不到的话,返回原来的字符串

import re

s = 'besttest is good is is is '

print(re.sub(r'best','Best',s))

结果:Besttest is good is is is

(5)split方法

split 方法和字符串的split方法一样,是用来分割字符的,按照匹配到的字符串进行分割,返回的是一个list,如果匹配不到的话,那返回的list中还是原来的字符串

import re

s = 'besttest is good is is is '

print(re.split(r'best',s))

结果:['', 'test is good is is is ']

2.常用正则表达式符号:

(1)数量词

'*' 匹配*号前的字符0次或多次,只是*前面的一个字符

print(re.findall(r'be*','besttest very best b'))

结果:['be', 'be', 'b']

'+' 匹配前一个字符1次或多次,只是+前面的一个字符

print(re.findall(r'st+','besttest is best'))

结果: ['stt', 'st', 'st']

'?' 匹配前一个字符1次或0次,只是?前面的一个字符

print(re.findall(r'st?','besttest is best'))

结果:['st', 'st', 's', 'st']

'{m}' 匹配前一个字符m次

print(re.findall(r't{2}','besttest is best'))

结果: ['tt']

'{n,m}' 匹配前一个字符n到m次

print(re.findall(r't{1,2}','besttest is best'))

结果: ['tt', 't', 't']

(2)一般字符

'.' 默认匹配除\n之外的任意一个字符

print(re.findall(r'b.','besttest is good'))

结果:['be']

'\' 转译符,前面的* + ?这样的字符都有特殊含义了,如果你想就想找它的话,那就得转译了

意思就是说如果你想让特殊字符失去以前的含义,那么就得给它前面加上\

print(re.findall(r'\?','besttest is best????'))

>>> ['?', '?', '?', '?']

'|' 匹配|左或|右的字符

print(re.findall(r'best|is','besttest is best'))

结果:['best', 'is', 'best']

'[]' 字符集合,某些字符的集合,匹配的时候是这个集合里面的任意一个就行

print(re.findall(r'be[stacj]','besttest is best bejson'))

结果:['bes', 'bes', 'bej']

在[]里面如果用^的话代表取反,也就是不包括的这些字符串的

print(re.findall(r'be[^stac]','besttest is best bejson'))

(3)边界匹配

'^' 匹配以什么字符开头,多行情况下匹配每一行的开头

print(re.findall(r'^b','besttest is good'))

结果: ['b']

print(re.findall(r'^b','besttest is good\nbest',re.M))#多行模式

结果: ['b','b']

'$' 匹配以什么字符结尾,多行情况下匹配每一行的结尾

print(re.findall(r'd$','besttest is good'))

结果:['d']

print(re.findall(r'd$','besttest is good\nbest is good',re.M))#多行模式 >>>['d','d']

'\A' 仅以什么字符开头,和^不同的是它不能用多行模式

print(re.findall(r'\Ab','besttest is good'))

结果: ['b']

'\Z' 仅以什么字符结尾,和$不同的是它不能用多行模式

print(re.findall(r'd\Z','besttest is good'))

结果:['d']

(4)预定义字符集合

'\d' 匹配数字0-9

print(re.findall(r'\d+','sdf2342312sdfs'))

结果: ['2342312']

'\D' 匹配非数字

print(re.findall(r'\D','sdf2342312sdfs'))

结果:['sdf', 'sdfs']

'\w' 匹配[A-Za-z0-9],也就是所有的字母和数字和中文

print(re.findall(r'\w','sdf234%^2312sdfs&'))

结果:['sdf234', '2312sdfs']

'\W' 匹配不是[A-Za-z0-9],也就是不是字母和数字

print(re.findall(r'\W','sdf234%^2312sdfs&'))

结果:['%', '^', '&']

'\s' 匹配空白字符、\t、\n、\r,空格

print(re.findall('\s','axss\n\tsdf\t\r\t'))

结果: ['\n', '\t', '\t', '\r', '\t']

'\S'匹配空白字符,不是\t、\n、\r,空格

print(re.findall('\s','axss\n\tsdf\t\r\t'))

结果:['\n', '\t', '\t', '\r', '\t']

3.正则匹配模式

正则匹配模式是用在match、search、findall里面的第三个参数,还有其他的模式,但是一般也用不到,就这两种能用到,别的就不记了

re.I: #忽略大小写

re.M: #多行模式,改变'^'和'$'的行为

re.findall('pattern', 'string',re.I)

(.*):贪婪模式,匹配尽可能多的字符

(.*?)或(.+?):匹配尽可能少的字符,一旦匹配到第一个就不往下走了

http://www.lbrq.cn/news/1252045.html

相关文章:

  • 网站建设 东道网络/推广链接点击器
  • 做网站开发一般用什么语言/太原seo公司
  • 大型网站建设建设公司/如何自己建个网站
  • 最近新闻报道/seo网络营销外包公司
  • 厚街做网站公司/搜索引擎优化工作
  • 网站建设方案怎么做/广州网站快速排名
  • 网站怎么做交易平台/seo上海培训
  • 中国商标注册网查询网官网/seo服务 文库
  • b2c网上支付是什么意思/湖南seo优化报价
  • 外贸生意做哪个网站好/流量神器
  • 南昌做网站公司/seo点石论坛
  • 益阳北京网站建设/郑州客串seo
  • 如何建设网站方便后期维护/360提交入口网址
  • 大连网站制作.net/查询网站收录
  • 网站建设属于哪类工作/登封网站设计
  • 网站建设与维护的论述题/湖南竞价优化哪家好
  • 后缀int网站/app开发公司有哪些
  • 珠海网站建设贵公司/新品上市怎么推广词
  • wordpress 中文客户端/seo公司推荐
  • 郑州新闻网站/北京、广州最新发布
  • 临沂网站建设公司/2345网址导航官方网站
  • 效果图哪个网站好/兰州seo优化公司
  • 网站中下滑菜单怎么做/泰安网站建设
  • 龙岗网站设计效果/黄页引流推广
  • 空气能空调如何做网站/线在科技成都网站推广公司
  • 织梦视频网站源码/网络营销岗位招聘信息
  • 字体设计网站大全/英语培训机构前十名
  • 河北住房和城乡建设委员会网站/装修公司网络推广方案
  • 青岛 茶叶网站建设/营销策略的思路
  • 国外域名备案/杭州seo全网营销
  • 推荐一款优质的开源博客与内容管理系统
  • 【数据结构与算法】刷题篇——环形链表的约瑟夫问题
  • selenium操作指南
  • Linux lvm逻辑卷管理
  • Unknown initial character set index ‘255’,Kettle连接MySQL数据库常见错误及解决方案大全
  • iptables 里INPUT、OUTPUT、FORWARD 三个链(Chain)详解