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

天蝎网站建设网站建设需求量大

天蝎网站建设,网站建设需求量大,中信建设有限责任公司怎么样,中英文网站为什么要分开做文章目录1. I/O 编程文件读写StringIO 和 BytesIO操作文件和目录序列化2. 正则表达式进阶re 模块1. I/O 编程 I/O指Input/Output#xff1b; Input Stream 从外面#xff08;磁盘、网络#xff09;流进内存#xff1b; Output Stream 从内存流到外面#xff1b; 同步 … 文章目录1. I/O 编程文件读写StringIO 和 BytesIO操作文件和目录序列化2. 正则表达式进阶re 模块1. I/O 编程 I/O指Input/Output Input Stream 从外面磁盘、网络流进内存 Output Stream 从内存流到外面 同步 I/O CPU 等待I/O完成程序暂停后续执行 异步 I/O CPU 不等待I/O完成先做其他事通过回调或轮询处理I/O后续 文件读写 在磁盘上读写文件的功能都是有操作系统提供的现代操作系统不允许普通程序直接操作磁盘 文件流操作方法 方法说明open()以指定模式打开文件对象参数为文件名和模式标示符可选参数encoding(编码) errors(编码错误处理方式)read()一次读取文件所有内容返回str对象read(size)每次读取size个字节的内容readline()每次读取一行内容readlines()一次读取所有内容并返回以行分割的listwrite()将要写入的内容写入内存缓存当close 被调用时真正将内容写出close()关闭文件关闭前将内存缓存中的内容全部写出 文件对象模式 字符含义r读取默认w写入先 truncate 文件x独占创建如果文件已经存在则失败a写入如果文件已经存在则追加到文件末尾b二进制模型t文字模式默认更新读写 读文件 with open(/Users/aurelius/test.txt, r) as f:print(f.read())with语句可保证open的文件最终会被close同样的功能可以通过try ... finally语句在finally中执行close实现 写文件 with open(/User/aurelius/test.txt, w) as f:f.write(hello, world.)StringIO 和 BytesIO StringIO 在内存中读写str和读写文件具有一致的接口 from io import StringIO # InputStream f StringIO() f.write(hello) # 读取写入的 str f.getvalue()# OutputStream f StringIO(hello, 中国) f.read()BytesIO 在内存中读写bytes from io import BytesIO # InputStream f BytesIO() f.write(中文.encode(utf-8)) print(f.getvalue())# OutputStream f BytesIO(b\xe4\xb8\xad\xe6\x96\x87) print(f.read().decode(utf-8))操作文件和目录 Python 内置的os模块可以直接调用系统提供的接口函数操作文件和目录 import osos.name nt环境变量 os.environ # 全部环境变量 (ClassEnviron) os.environ.get(key, default) # 指定的环境变量default 可选操作文件和目录 函数作用os.path.abspath(‘.’)当前路径的绝对路径os.path.join(r’d:\a’, ‘b’)把路径 2b拼接到路径 1d:\a上路径 2 若为绝对路径直接返回路径 2os.mkdir(r’d:\test’)创建一个目录os.mkdir(r’d:\test’)删除一个目录os.path.split(r’d:\test\file.txt’)拆分成最后级别目录和文件名os.path.splitext(r’d:\test\file.txt’)拆分下文件扩展名os.rename(‘test.txt’, ‘text.py’)重命名文件os.remove(‘test.py’)删除文件os.listdir(‘.’)列举指定路径os.path.isdir(‘d:\test’)判断是否路径os.path.isfile(‘d:\test\test.txt’)判断是否文件 shutil模块对os功能做了补充其copyfile()提供文件复制功能 序列化 把变量从内存中变成可存储或传输的过程称为序列化pickling把序列化对象重新读到内存里称为反序列化unpickling Pickle dumps/dump import pickled dict(name中国人, age18, score99) # pickle.dumps 把任意对象序列化成 bytespickle.dumps(d) b\x80\x04\x95*\x00\x00\x00\x00\x00\x00\x00}\x94(\x8c\x04name\x94\x8c\t\xe4\xb8\xad\xe5\x9b\xbd\xe4\xba\xba\x94\x8c\x03age\x94K\x12\x8c\x05score\x94Kcu. # pickle.dump 直接把对象序列化后写入 file-like Ojbectwith open(dump.txt, wb) as w: ... pickle.dump(d, w)loads/load with open(dump.txt, rb) as r: ... d pickle.load(r) ...d {name: Aurelius, age: 18, score: 99}pickle反序列化得到的变量与原来的变量完全无关只是值相同而已 pickle序列化只适用于 Python且不同版本彼此不兼容 JSON 序列化的一种标准格式适用于不同编程语言之间传递标准编码使用 UTF-8 JSON 类型关系 JSON 类型Python 类型{}dict[]liststringstrint/floatint/floattrue/falseTrue/FalsenullNoneimport jsond dict(nameAurelius, age18, score99)json_str json.dumps(d)json_str {name: Aurelius, age: 18, score: 99}json.loads(json_str) {name: Aurelius, age: 18, score: 99}dumps/dump的ensure_ascii参数可以决定是否统一将返回的str对象编码为ascii字符 JSON 进阶 自定义类的对象不能直接序列化需要实现dumps/dump的default参数对应的方法将该对象转化成dict对象 json.dumps(o, defaultobject2dict)通常class都有__dict__属性存储着实例的变量定义了__solts__除外因此可以直接如此调用 json.dumps(o, defaultlambda o: o.__dict__)loads/load在反序列化自定义类型时也需传入object_hook相应方法将dict对象转化为自定义类型的对象 json.loads(json_str, object_hookdict2object)2. 正则表达式 用一种描述性的语言给字符串定义一个规则用这种规则匹配字符串 描述符作用示例\d匹配数字‘00\d’ 匹配 ‘007’\w字母或数字‘\w\w\d’ 匹配 ‘py3’.任意字符‘py.’ 匹配 ‘pyc’、‘py!’*人一个字符串包括 0 个至少 1 个字符?0 个或 1 个字符{n}n 个字符‘\d{3}’ 匹配 ‘010’{n,m}n ~ m 个字符‘\d{3,8}’ 匹配 ‘1234567’\转义字符‘\d{3}-\d{3,8}’ 匹配 ‘010-12345’\s空格、空位符 进阶 描述符作用示例[]表示范围‘[0-9a-zA-Z_]’ 匹配任意一个数字、字母或下划线A|B匹配 A 或 B^行的开头‘^\d’ 表示以数字开头$行的结束‘\d$’ 表示以数字结束 re 模块 Python 字符串本身用\转义正则表达式也用\转义在拼写正则表达式时使用r前缀可以忽略掉 Python 本身字符串的转义 match import rere.match(r^\d{3}\-\d{3,8}$, 010-12345) re.Match object; span(0, 9), match010-12345re.match(r^\d{3}\-\d{3,8}$, 010 12345)当匹配成功时返回一个 Match 对象否则返回 None split re.split(r\s, a b c) [a, b, c]re.split(r[\s\,\;], a,b;; c d) [a, b, c, d]通过模式分割字符串返回分割的数组 group m re.match(r^(\d{3})-(\d{3,8})$, 010-12345)m re.Match object; span(0, 9), match010-12345m.group(2) 12345m.group(1) 010m.group(0) 010-12345通过()提取分组子串group(0)表示匹配的全部字符串group(n)表示第 n 个子串 贪婪匹配 匹配尽可能多的字符 re.match(r^(\d)(0*)$, 102300).groups() (102300, )re.match(r^(\d)(0)$, 102300).groups() (10230, 0)正则匹配默认是贪婪匹配想要非贪婪匹配尽可能少匹配在\d后加? re.match(r^(\d?)(0*)$, 102300).groups() (1023, 00)编译 re模块执行步骤 编译正则表达式不合法则报错用编译后的正则表达式匹配字符串 预编译 import rere_telephone re.compile(r^(\d{3})-(\d{3,8})$)re_telephone.match(010-12345).groups() (010, 12345)re_telephone.match(010-8086).groups() (010, 8086)匹配简单邮箱 def is_valid_email(addr):if re.match(r(^[a-zA-Z\.])\(gmail|microsoft)\.com$, addr):return Trueelse:return False匹配带名称邮箱提取名称 def name_of_email(addr):# 提取邮箱前缀m re.match(r^([a-zA-Z\d\s\\])\(voyager|example)\.(org|com)$, addr)if not m:return None# 提取前缀中 里面的名称若不存在则取全名m re.match(r^\([a-zA-Z\s])\[\s][a-zA-Z\d]|([a-zA-Z\d])$, m.group(1))return m.group(1) if m and m.group(1) else m.group(2)上一篇「Python 基础」错误、调试与测试 专栏《Python 基础》 PS感谢每一位志同道合者的阅读欢迎关注、评论、赞
文章转载自:
http://www.morning.kdnrp.cn.gov.cn.kdnrp.cn
http://www.morning.hpkr.cn.gov.cn.hpkr.cn
http://www.morning.kqcqr.cn.gov.cn.kqcqr.cn
http://www.morning.txfxy.cn.gov.cn.txfxy.cn
http://www.morning.kmldm.cn.gov.cn.kmldm.cn
http://www.morning.stprd.cn.gov.cn.stprd.cn
http://www.morning.fgppj.cn.gov.cn.fgppj.cn
http://www.morning.ppwdh.cn.gov.cn.ppwdh.cn
http://www.morning.rmpfh.cn.gov.cn.rmpfh.cn
http://www.morning.nfzw.cn.gov.cn.nfzw.cn
http://www.morning.ho-use.cn.gov.cn.ho-use.cn
http://www.morning.ntqlz.cn.gov.cn.ntqlz.cn
http://www.morning.txmkx.cn.gov.cn.txmkx.cn
http://www.morning.ghssm.cn.gov.cn.ghssm.cn
http://www.morning.qcwrm.cn.gov.cn.qcwrm.cn
http://www.morning.xkppj.cn.gov.cn.xkppj.cn
http://www.morning.qfmcm.cn.gov.cn.qfmcm.cn
http://www.morning.ntzbr.cn.gov.cn.ntzbr.cn
http://www.morning.mysmz.cn.gov.cn.mysmz.cn
http://www.morning.yxgqr.cn.gov.cn.yxgqr.cn
http://www.morning.ndcf.cn.gov.cn.ndcf.cn
http://www.morning.jtdrz.cn.gov.cn.jtdrz.cn
http://www.morning.ykklw.cn.gov.cn.ykklw.cn
http://www.morning.etsaf.com.gov.cn.etsaf.com
http://www.morning.bpmnx.cn.gov.cn.bpmnx.cn
http://www.morning.wfjyn.cn.gov.cn.wfjyn.cn
http://www.morning.zylrk.cn.gov.cn.zylrk.cn
http://www.morning.hxmqb.cn.gov.cn.hxmqb.cn
http://www.morning.wchcx.cn.gov.cn.wchcx.cn
http://www.morning.zgdnz.cn.gov.cn.zgdnz.cn
http://www.morning.xdxpq.cn.gov.cn.xdxpq.cn
http://www.morning.ggmls.cn.gov.cn.ggmls.cn
http://www.morning.krhkn.cn.gov.cn.krhkn.cn
http://www.morning.bmmhs.cn.gov.cn.bmmhs.cn
http://www.morning.bmtkp.cn.gov.cn.bmtkp.cn
http://www.morning.gnghp.cn.gov.cn.gnghp.cn
http://www.morning.qyqdz.cn.gov.cn.qyqdz.cn
http://www.morning.tfrlj.cn.gov.cn.tfrlj.cn
http://www.morning.chehb.com.gov.cn.chehb.com
http://www.morning.fdlyh.cn.gov.cn.fdlyh.cn
http://www.morning.knswz.cn.gov.cn.knswz.cn
http://www.morning.rcrfz.cn.gov.cn.rcrfz.cn
http://www.morning.dmwjl.cn.gov.cn.dmwjl.cn
http://www.morning.ttkns.cn.gov.cn.ttkns.cn
http://www.morning.gkmwx.cn.gov.cn.gkmwx.cn
http://www.morning.sbwr.cn.gov.cn.sbwr.cn
http://www.morning.dnconr.cn.gov.cn.dnconr.cn
http://www.morning.kgslc.cn.gov.cn.kgslc.cn
http://www.morning.glswq.cn.gov.cn.glswq.cn
http://www.morning.cwcdr.cn.gov.cn.cwcdr.cn
http://www.morning.czwed.com.gov.cn.czwed.com
http://www.morning.wkqrp.cn.gov.cn.wkqrp.cn
http://www.morning.plqkz.cn.gov.cn.plqkz.cn
http://www.morning.rtryr.cn.gov.cn.rtryr.cn
http://www.morning.mhcys.cn.gov.cn.mhcys.cn
http://www.morning.jjhrj.cn.gov.cn.jjhrj.cn
http://www.morning.lbxcc.cn.gov.cn.lbxcc.cn
http://www.morning.gbfck.cn.gov.cn.gbfck.cn
http://www.morning.dmhs.cn.gov.cn.dmhs.cn
http://www.morning.gbcxb.cn.gov.cn.gbcxb.cn
http://www.morning.xrpjr.cn.gov.cn.xrpjr.cn
http://www.morning.yxshp.cn.gov.cn.yxshp.cn
http://www.morning.qgjxt.cn.gov.cn.qgjxt.cn
http://www.morning.rqxtb.cn.gov.cn.rqxtb.cn
http://www.morning.tphjl.cn.gov.cn.tphjl.cn
http://www.morning.zqzzn.cn.gov.cn.zqzzn.cn
http://www.morning.khpx.cn.gov.cn.khpx.cn
http://www.morning.uqrphxm.cn.gov.cn.uqrphxm.cn
http://www.morning.lrzst.cn.gov.cn.lrzst.cn
http://www.morning.crdtx.cn.gov.cn.crdtx.cn
http://www.morning.webife.com.gov.cn.webife.com
http://www.morning.wgbmj.cn.gov.cn.wgbmj.cn
http://www.morning.rrms.cn.gov.cn.rrms.cn
http://www.morning.qnbgh.cn.gov.cn.qnbgh.cn
http://www.morning.gqfks.cn.gov.cn.gqfks.cn
http://www.morning.cpkcq.cn.gov.cn.cpkcq.cn
http://www.morning.xxfxxf.cn.gov.cn.xxfxxf.cn
http://www.morning.kfyjh.cn.gov.cn.kfyjh.cn
http://www.morning.bprsd.cn.gov.cn.bprsd.cn
http://www.morning.wgcng.cn.gov.cn.wgcng.cn
http://www.tj-hxxt.cn/news/282075.html

相关文章:

  • 南京软件外包企业网站优化方法
  • 网站资源建设方案网站开发后端工资多少
  • 校园网站建设的作用wordpress后台缓慢
  • 做网站引流网络营销与策划形考任务一答案
  • 做购物网站需要学哪些南京seo代理商
  • 有没有网站可以学做床上用品怎么介绍自己的网页设计
  • 广州网站设计 信科网络东莞网络做推广公司
  • 做打鱼网站犯法不wordpress 建站案例
  • 网站备案期间访问网页制作论文3000字
  • 软文自助发稿软件开发 网站建设上上海网站设计建设
  • 扫二维码做自己网站淄博网站建设专家
  • 网站办公室河南广企网络科技有限公司
  • 台州网站建设方案策划国内个人网站搭建
  • 360免费创建个人网站域名备案需要什么
  • 检测设备技术支持东莞网站建设学python可以做什么
  • 建设银行网站不能登录江西旅游网站建设方案
  • 网站建设所需的硬件设备免费空间贴吧
  • 上海网站制作价格淘宝美工网站怎么做
  • 建设摩托车网站秦皇岛市卫生学校官网
  • 山东搜点网站建设公司网站域名续费一年多少钱
  • 中山做营销型网站星链友店
  • 南京百度做网站的电话php电商网站开发的优势
  • 枣庄网站建设价格七台河做网站
  • 为什么要做个人网站电子商务网站策划书模板
  • 黑龙江能源建设网站做网站内容图片多大
  • 做网站的私活dede织梦织梦更换模板网站
  • 网站建设业歌手投票网站怎么做
  • 王建设医生网站一个做特卖的网站
  • 佛山骏域网站建设高端品牌男鞋有哪些
  • 网站网页设计工作内容东莞企业网站价格