1. time & datetime模块

-----------------------------------------------------------
>>> import time,datetime
#返回处理器时间,3.3开始已废弃 , 改成了time.process_time()测量处理器运算时间,不包括sleep时间,不稳定,mac上测不出来
>>> print(time.clock())
#返回与utc时间的时间差,以秒计算
>>> print(time.altzone)
#返回时间格式"Fri Aug 19 11:14:16 2016"
>>> print(time.asctime())
#返回本地时间 的struct time对象格式
>>> print(time.localtime())
#返回utc时间的struc时间对象格式
>>> print(time.gmtime(time.time()-800000))
#返回时间格式"Fri Aug 19 11:14:16 2016"
>>> print(time.asctime(time.localtime()))
#返回Fri Aug 19 12:38:29 2016 格式, 同上
>>> print(time.ctime())
# 日期字符串 转成 时间戳
#将 日期字符串 转成 struct时间对象格式
>>> string_2_struct = time.strptime("2016/05/22","%Y/%m/%d")
>>> print(string_2_struct)
#将struct时间对象转成时间戳
>>> struct_2_stamp = time.mktime(string_2_struct)
>>> print(struct_2_stamp)
-----------------------------------------------------------
#将时间戳转为字符串格式
#将utc时间戳转换成struct_time格式
>>> print(time.gmtime(time.time()-86640))
#将utc struct_time格式转成指定的字符串格式
>>> print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime()) )
-----------------------------------------------------------
#时间加减
#返回2017-10-26 23:39:47.623486
>>> print(datetime.datetime.now())
#时间戳直接转成日期格式2017-10-26
>>> print(datetime.date.fromtimestamp(time.time()) )
>>> print(datetime.datetime.now())
#当前时间+3天
>>> print(datetime.datetime.now() + datetime.timedelta(3))
#当前时间-3天
>>> print(datetime.datetime.now() + datetime.timedelta(-3))
#当前时间+3小时
>>> print(datetime.datetime.now() + datetime.timedelta(hours=3))
#当前时间+30分
>>> print(datetime.datetime.now() + datetime.timedelta(minutes=30))
-----------------------------------------------------------
#时间替换
>>> c_time = datetime.datetime.now()
>>> print(c_time.replace(minute=3,hour=2))

2. random模块

#随机数
>>> import random
>>> print(random.random())
>>> print(random.randint(1,2))
>>> print(random.randrange(1,10)) #生成随机验证码
import random
checkcode = ''
for i in range(4):
current = random.randrange(0,4)
if current != i:
temp = chr(random.randint(65,90))
else:
temp = random.randint(0,9)
checkcode += str(temp)
print checkcode

3. os模块

#获取当前工作目录,即当前python脚本工作的目录路径
>>> os.getcwd()
#改变当前脚本工作目录;相当于shell下cd
>>> os.chdir("/home/luoming/python")
#获取当前路径
>>> os.curdir
#获取当前目录的父目录
>>> os.pardir
#创建多级目录
>>> os.makedirs('drop1/drop2')
#如目录为空,则删除,并递归到上级目录,若上级目录也为空,则也删除
>>> os.removedirs('drop3')
#创建单级目录
>>> os.mkdir('Drop')
#删除单级空目录,若目录不为空,则报错
>>> os.rmdir('Drop')
#查看指定路径下所有文件
>>> os.listdir('.')
#删除一个文件
>>> os.remove('soo.py')
#重命名一个目录或文件
>>> os.rename("drop1","Drop1")
#获取指定目录或文件信息
>>> os.stat('/home/luoming')
#输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
>>> os.sep
#输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
>>> os.linesep
#输出用于分割文件路径的字符串
>>> os.pathsep
#输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
>>> os.name
#相当于linux下命令行执行
>>> os.system("hostname")
#获取系统环境变量
>>> os.environ
#返回pash规范化的路径
>>> os.path.abspath('home/luoming/python')
#将path分割成目录和文件名二元组返回
>>> os.path.split('home/luoming/python')
返回path的上级目录。其实就是os.path.split(path)的第一个元素
>>> os.path.dirname('home/luoming/python')
#返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
>>> os.path.basename('home/luoming/python')
#判断path是否存在,存在则返回True
>>> os.path.exists('/home/luoming/python')
#路径是否为绝对路径,是返回True
>>> os.path.isabs('/home/luoming')
#如果路径是一个存在的文件,返回True
>>> os.path.isfile('/home/luoming/python/random.py')
#如果path存在,返回True
>>> os.path.isdir('/home/luoming/python/')
#获取path指向的文件最近的存取时间
>>> os.path.getatime('/home/luoming/python/random.py')
#获取path指向的文件最近的修改时间
>>> os.path.getctime('/home/luoming/python/random.py')

4. sys模块

#命令行参数List,第一个元素是程序本身路径
>>> sys.argv
#退出程序,正常退出时exit(0)
>>> sys.exit(n)
#获取Python解释程序的版本信息
>>> sys.version
#最大的Int值
>>> sys.maxint
#返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
>>> sys.path
#返回操作系统平台名称
>>> sys.platform

5. shutil 模块

参考地址:http://www.cnblogs.com/wupeiqi/articles/4963027.html

6. json & pickle 模块

#用于序列化的两个模块
#json,用于字符串 和 python数据类型间进行转换
#pickle,用于python特有的类型 和 python的数据类型间进行转换
#Json模块提供了四个功能:dumps、dump、loads、load
#pickle模块提供了四个功能:dumps、dump、loads、load >>> import pickle
>>> data = {'k1':123,'k2':'hello'}
#pickle.dumps将数据通过特殊的形式转换为只有py语言认识的字符串
>>> p_str = pickle.dumps(data)
>>> print(p_str)
b'\x80\x03}q\x00(X\x02\x00\x00\x00k1q\x01K{X\x02\x00\x00\x00k2q\x02X\x05\x00\x00\x00helloq\x03u.' #pickle.dump将数据通过特殊的形式转换为只有py语言认识的字符串,并写入文件
>>> with open('/home/luoming/python/random.py','w') as fp:
pickle.dump(data,fp) >>> j_str = json.dumps(data)
>>> print(j_str)
{"k1": 123, "k2": "hello"}

Day5_Py模块_1的更多相关文章

  1. day22 模块_1

    核能来袭--模块 1.简单了解模块 2.Collections 3.Time模块 4.functools 一.初识模块 其实之前写的每一个PY文件都是一个模块 还有一些我们一直在使用的模块  buil ...

  2. Spider--补充--Re模块_1

    # @ Author : Collin_PXY # 正则表达式: import re # 1,分步写法: # 1)rule.search(string) pattern='各小区' rule=re.c ...

  3. EasyUI基础入门之Easyloader(载入器)

    在了解完easyui的parser(解析器)之后,接下来就是easyloader(简单载入器)的学习了. 什么是EasyLoader 正如其名字一样easyloader的作用是为了动态的载入组件所需的 ...

  4. Spider_知识目录_基础

    知识目录 静态网页抓取 Spider_基础总结1_Request(get/post__url传参_headers_timeout)+Reponse Spider_基础总结2_Requests异常 Sp ...

  5. Windows提高_1.2遍历进程、遍历模块

    进程 什么是进程? 通俗的来讲,进程就是一个运行中的程序,最少包含一个虚拟空间,通常是 4 GB大小,一组提供数据和代码的模块,通产是 dll 和 exe 文件,一个进程内核对象和最少一个线程. 进程 ...

  6. Python笔记_第四篇_高阶编程_正则表达式_1.正则表达式简介(re模块)

    1. 从一个判断手机号的问题引入: 如果给你一个字符串,去判断是否是一个手机号码,我们通过之前的学习可以有如下代码: # 如果用普通的方式去检验一个电话号码非常麻烦. def checkPhone(s ...

  7. asp.net后台管理系统-登陆模块-路由权限控制_1

    using System.Web.Routing; //重写System.Web.Routing中Initialize方法 protected override void Initialize(Req ...

  8. 基于ThinkPHP3的微信平台开发_1

    微信公众平台是个好东西,具体的就不说了,我直接说技术>_< 下图为目录结构一览: 微信开发 - 文件目录结构 平台功能: 此次开发的平台是面向多微信公众号.微信多公众号主(下面简称号主)的 ...

  9. itertools模块

    itertools模块中有很多函数,返回的是一个迭代器 参考: http://www.wklken.me/posts/2013/08/20/python-extra-itertools.html#_1

随机推荐

  1. 基于OpenCV做“三维重建”(2)--封装标定过程

    既然已经能够找到了标定点,那么下边的工作就是使用标定结果了.[这本书在这里的内容组织让人莫名其妙]但是通过阅读代码能够很方便地串起来. /*------------------------------ ...

  2. Selenium及Headless Chrome抓取动态HTML页面

    一般的的静态HTML页面可以使用requests等库直接抓取,但还有一部分比较复杂的动态页面,这些页面的DOM是动态生成的,有些还需要用户与其点击互动,这些页面只能使用真实的浏览器引擎动态解析,Sel ...

  3. Haystack全文检索

    1.什么是Haystack Haystack是django的开源全文搜索框架(全文检索不同于特定字段的模糊查询,使用全文检索的效率更高 ),该框架支持Solr,Elasticsearch(java写的 ...

  4. Overture小课堂之如何演绎钢琴滑音

    在我们学习钢琴和学习使用Overture时,要学习如何弹奏和使用滑音.那么我们先来看看什么是滑音,如何使用钢琴演绎,在Overture里滑音又在哪里呢? 滑音,在音乐术语中通常指一种装饰音和演奏指法. ...

  5. ModelBiner不验证某个属性

    问题 使用MVC的同学十有八九都会遇到这个错误:从客户端(Content="<script>...")中检测到有潜在危险的Request.Form 值. 这个错误是在请 ...

  6. 单端测序(Single- ead)和双端测序(Pai ed-end和Mate-pai )的关系

    Roche 454,Solexa和ABI SOLID均有单端测序和双端测序两种方式.在基因组De Novo测序过程中,Roche454的单端测序读长可以达到400p,经常用于基因组骨架的组装,而Sol ...

  7. 从Scratch到Python之角色与造型

    从Scratch到Python之角色与造型 继续讲解通过python turtle从积木编程过渡到代码编程的技巧.角色是scratch中很重要的主角,每个角色可以更换不同的造型或者音效,堆叠不同的积木 ...

  8. Cow Cycling 动态规划

    1552: Cow Cycling 时间限制(普通/Java):1000MS/10000MS     内存限制:65536KByte总提交: 39            测试通过:20 描述 The ...

  9. T55359 家庭作业

    传送门 思路: 先按学分从大到小排序,根据贪心的思想尽可能地让作业的完成时间延后,这样就能有更多空间给那些限制比较严格的作业 设 f [ i ] 为点 i 向左的最小空闲时间 对于一个限制 t 的作业 ...

  10. P2170 选学霸

    传送门 思路: ① 可以把每个学生都看作点,而那些实力相同的学生就处在同一个连通块内,因为连通块内的同学要么都取,要么不取,所以可以将连通块缩成一个点.只需用并查集维护每个连通块的大小. ② 接着采取 ...