day5笔记

  1 #!/usr/bin/env python
  2 # -*- coding: utf-8 -*-
  3 
  4 #一 time模块
  5 import time
  6 #时间戳
  7 #print(time.time())
  8 #格式化的时间字符串
  9 #print(time.strftime("%Y-%m-%d %X"))
 10 #本地时间区的struct_time
 11 #print(time.localtime())
 12 #utc时区的struct_time
 13 #print(time.gmtime())
 14 #将一个时间戳转换为当前时区的struct_time。secs参数未提供,则以当前时间为准
 15 # print(time.localtime())
 16 # print(time.localtime(time.time()))
 17 ## gmtime([secs]) 和localtime()方法类似,gmtime()方法是将一个时间戳转换为UTC时区(0时区)的struct_time。
 18 # mktime(t) : 将一个struct_time转化为时间戳。
 19 #print(time.mktime(time.localtime()))
 20 #strftime(format[, t]) : 把一个代表时间的元组或者struct_time(如由time.localtime()和time.gmtime()返回)转化为格式化的时间字符串。如果t未指定,将传入time.localtime()。如果元组中任何一个元素越界,ValueError的错误将会被抛出。
 21 #print(time.strftime("%Y-%m-%d %X",time.localtime()))
 22 # time.strptime(string[, format])
 23 #把一个格式化时间字符串转化为struct_time。实际上它和strftime()是逆操作。
 24 #print(time.strptime('2017-06-03 00:49:29', '%Y-%m-%d %X'))
 25 #在这个函数中,format默认为:"%a %b %d %H:%M:%S %Y"。
 26 #asctime([t]) : 把一个表示时间的元组或者struct_time表示为这种形式:'Sun Jun 20 23:21:05 1993'。
 27 #如果没有参数,将会将time.localtime()作为参数传入
 28 #print(time.asctime())
 29 #ctime([secs]) : 把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式。如果参数未给或者为None的时候,将会默认time.time()为参数。它的作用相当于time.asctime(time.localtime(secs))。
 30 #print(time.ctime())
 31 #print(time.ctime(time.time()))
 32 #其他用法
 33 #sleep(secs)
 34 #线程推迟指定的时间运行,单位为秒。
 35 #二 random模块
 36 import random
 37 #(0,1)----float    大于0且小于1之间的小数
 38 #print(random.random())
 39 ##[1,3]    大于等于1且小于等于3之间的整数
 40 #print(random.randint(1,3))
 41 #大于等于1且小于3之间的整数
 42 #print(random.randrange(1,3))
 43 #1或者23或者[4,5]
 44 #print(random.choice([1,'23',[4,5]]))
 45 #列表元素任意2个组合
 46 #print(random.sample([1,'23',[4,5]],2))
 47 #大于1小于3的小数,如1.927109612082716
 48 #print(random.uniform(1,3))
 49 #打乱item的顺序,相当于"洗牌"
 50 # item=[1,3,5,7,9]
 51 # random.shuffle(item)
 52 # print(item)
 53 
 54 #三 os模块
 55 # os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
 56 # os.chdir("dirname")  改变当前脚本工作目录;相当于shell下cd
 57 # os.curdir  返回当前目录: ('.')
 58 # os.pardir  获取当前目录的父目录字符串名:('..')
 59 # os.makedirs('dirname1/dirname2')    可生成多层递归目录
 60 # os.removedirs('dirname1')    若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
 61 # os.mkdir('dirname')    生成单级目录;相当于shell中mkdir dirname
 62 # os.rmdir('dirname')    删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
 63 # os.listdir('dirname')    列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
 64 # os.remove()  删除一个文件
 65 # os.rename("oldname","newname")  重命名文件/目录
 66 # os.stat('path/filename')  获取文件/目录信息
 67 # os.sep    输出操作系统特定的路径分隔符,win下为"\",Linux下为"/"
 68 # os.linesep    输出当前平台使用的行终止符,win下为"	
",Linux下为"
"
 69 # os.pathsep    输出用于分割文件路径的字符串 win下为;,Linux下为:
 70 # os.name    输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
 71 # os.system("bash command")  运行shell命令,直接显示
 72 # os.environ  获取系统环境变量
 73 # os.path.abspath(path)  返回path规范化的绝对路径
 74 # os.path.split(path)  将path分割成目录和文件名二元组返回
 75 # os.path.dirname(path)  返回path的目录。其实就是os.path.split(path)的第一个元素
 76 # os.path.basename(path)  返回path最后的文件名。如何path以/或结尾,那么就会返回空值。即os.path.split(path)的第二个元素
 77 # os.path.exists(path)  如果path存在,返回True;如果path不存在,返回False
 78 # os.path.isabs(path)  如果path是绝对路径,返回True
 79 # os.path.isfile(path)  如果path是一个存在的文件,返回True。否则返回False
 80 # os.path.isdir(path)  如果path是一个存在的目录,则返回True。否则返回False
 81 # os.path.join(path1[, path2[, ...]])  将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
 82 # os.path.getatime(path)  返回path所指向的文件或者目录的最后存取时间
 83 # os.path.getmtime(path)  返回path所指向的文件或者目录的最后修改时间
 84 # os.path.getsize(path) 返回path的大小
 85 # import os
 86 # import os,sys
 87 # possible_topdir = os.path.normpath(os.path.join(
 88 #     os.path.abspath(__file__),
 89 #     os.pardir, #上一级
 90 #     os.pardir,
 91 #     os.pardir
 92 # ))
 93 # sys.path.insert(0,possible_topdir)
 94 #四 sys模块
 95 import sys
 96 #sys.argv   命令行参数List,第一个元素是程序本身路径
 97 #sys.exit(n)  退出程序,正常退出时exit(0)
 98 #print(sys.version)  获取Python解释程序的版本信息
 99 #sys.maxint       最大的Int值
100 #sys.path        返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
101 #print(sys.platform)  返回操作系统平台名称
102 
103 #五 shutil模块
104 #高级的 文件、文件夹、压缩包 处理模块
105 import shutil
106 #将文件内容拷贝到另一个文件中
107 #shutil.copyfileobj(fsrc, fdst[, length])
108 #shutil.copyfileobj(open('old.xml','r'), open('new.xml', 'w'))
109 #拷贝文件
110 #shutil.copyfile(src, dst)
111 #shutil.copyfile('f1.log', 'f2.log') #目标文件无需存在
112 #shutil.copymode(src, dst)
113 #仅拷贝权限。内容、组、用户均不变
114 #shutil.copymode('f1.log', 'f2.log') #目标文件必须存在
115 #shutil.copystat(src, dst)
116 #仅拷贝状态的信息,包括:mode bits, atime, mtime, flags
117 #shutil.copystat('f1.log', 'f2.log') #目标文件必须存在
118 #shutil.copy(src, dst)
119 #拷贝文件和权限
120 #shutil.copy('f1.log', 'f2.log')
121 #拷贝文件和状态信息
122 #shutil.copy2(src, dst)
123 #shutil.ignore_patterns(*patterns)
124 #shutil.copytree(src, dst, symlinks=False, ignore=None)
125 #递归的去拷贝文件夹
126 #shutil.copytree('folder1', 'folder2', ignore=shutil.ignore_patterns('*.pyc', 'tmp*')) #目标目录不能存在,注意对folder2目录父级目录要有可写权限,ignore的意思是排除
127 #软链、通常的拷贝都把软连接拷贝成硬链接,即对待软连接来说,创建新的文件
128 #shutil.copytree('f1', 'f2', symlinks=True, ignore=shutil.ignore_patterns('*.pyc', 'tmp*'))
129 #shutil.rmtree(path[, ignore_errors[, onerror]])
130 #递归的去删除文件
131 #shutil.rmtree('folder1')
132 #shutil.make_archive(base_name, format,...)
133 #
134 # 创建压缩包并返回文件路径,例如:zip、tar
135 #
136 # 创建压缩包并返回文件路径,例如:zip、tar
137 #
138 # base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,
139 # 如 data_bak                       =>保存至当前路径
140 # 如:/tmp/data_bak =>保存至/tmp/
141 # format:    压缩包种类,“zip”, “tar”, “bztar”,“gztar”
142 # root_dir:    要压缩的文件夹路径(默认当前目录)
143 # owner:    用户,默认当前用户
144 # group:    组,默认当前组
145 # logger:    用于记录日志,通常是logging.Logger对象
146 #shutil 对压缩包的处理是调用 ZipFile 和 TarFile 两个模块来进行的,详细:
147 # import zipfile
148 #
149 # # 压缩
150 # z = zipfile.ZipFile('laxi.zip', 'w')
151 # z.write('a.log')
152 # z.write('data.data')
153 # z.close()
154 #
155 # # 解压
156 # z = zipfile.ZipFile('laxi.zip', 'r')
157 # z.extractall(path='.')
158 # z.close()
159 
160 # import tarfile
161 #
162 # # 压缩
163 # >>> t=tarfile.open('/tmp/egon.tar','w')
164 # >>> t.add('/test1/a.py',arcname='a.bak')
165 # >>> t.add('/test1/b.py',arcname='b.bak')
166 # >>> t.close()
167 #
168 #
169 # # 解压
170 # >>> t=tarfile.open('/tmp/egon.tar','r')
171 # >>> t.extractall('/egon')
172 # >>> t.close()
173 
174 # import json
175 # x="[null,true,false,1]"
176 # print(json.loads(x))
177 #re模块
178 # 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。(在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。
179 #
180 # 生活中处处都是正则:
181 #
182 #     比如我们描述:4条腿
183 #
184 #       你可能会想到的是四条腿的动物或者桌子,椅子等
185 #
186 #     继续描述:4条腿,活的
187 #
188 #           就只剩下四条腿的动物这一类了
189 #
190 # 二:常用匹配模式(元字符)
191 #
192 # http://blog.csdn.net/yufenghyc/article/details/51078107
原文地址:https://www.cnblogs.com/Bruce-yin/p/6936615.html