Day5_Py模块_1
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的更多相关文章
- day22 模块_1
核能来袭--模块 1.简单了解模块 2.Collections 3.Time模块 4.functools 一.初识模块 其实之前写的每一个PY文件都是一个模块 还有一些我们一直在使用的模块 buil ...
- Spider--补充--Re模块_1
# @ Author : Collin_PXY # 正则表达式: import re # 1,分步写法: # 1)rule.search(string) pattern='各小区' rule=re.c ...
- EasyUI基础入门之Easyloader(载入器)
在了解完easyui的parser(解析器)之后,接下来就是easyloader(简单载入器)的学习了. 什么是EasyLoader 正如其名字一样easyloader的作用是为了动态的载入组件所需的 ...
- Spider_知识目录_基础
知识目录 静态网页抓取 Spider_基础总结1_Request(get/post__url传参_headers_timeout)+Reponse Spider_基础总结2_Requests异常 Sp ...
- Windows提高_1.2遍历进程、遍历模块
进程 什么是进程? 通俗的来讲,进程就是一个运行中的程序,最少包含一个虚拟空间,通常是 4 GB大小,一组提供数据和代码的模块,通产是 dll 和 exe 文件,一个进程内核对象和最少一个线程. 进程 ...
- Python笔记_第四篇_高阶编程_正则表达式_1.正则表达式简介(re模块)
1. 从一个判断手机号的问题引入: 如果给你一个字符串,去判断是否是一个手机号码,我们通过之前的学习可以有如下代码: # 如果用普通的方式去检验一个电话号码非常麻烦. def checkPhone(s ...
- asp.net后台管理系统-登陆模块-路由权限控制_1
using System.Web.Routing; //重写System.Web.Routing中Initialize方法 protected override void Initialize(Req ...
- 基于ThinkPHP3的微信平台开发_1
微信公众平台是个好东西,具体的就不说了,我直接说技术>_< 下图为目录结构一览: 微信开发 - 文件目录结构 平台功能: 此次开发的平台是面向多微信公众号.微信多公众号主(下面简称号主)的 ...
- itertools模块
itertools模块中有很多函数,返回的是一个迭代器 参考: http://www.wklken.me/posts/2013/08/20/python-extra-itertools.html#_1
随机推荐
- win7有多条隧道适配器(isatap、teredo、6to4)的原因及关闭方法
问题:sdp协商时,带有IPV6的信息,需要将IPV6相关信息去掉 原因:网卡启用了ipv6通道 解决:关闭IPv6数据接口 netsh interface isatap set state disa ...
- GitHub Toturial
GitHub Toturial Git Summary 1. 设置姓名和email git config --global user.name "YuboFeng" git con ...
- nodejs-使用multer实现多张图片上传,express搭建脚手架
nodejs-使用multer实现多张图片上传,express搭建脚手架 在工作中,我们经常会看到用户有多张图片上传,并且预览展示的需求.那么在具体实现中又该怎么做呢? 本实例需要nodejs基础,本 ...
- mongodb修改和删除操作
修改数据修改里面还有查询条件.你要该谁,要告诉 mongo.查找名字叫做小明的,把年龄更改为 16 岁:1 db.student.update({"name":"小明&q ...
- VBoxManage安装
扩展包的版本需要与VirtualBox的版本一致,通过帮助可以查看VirtualBox的版本信息,然后在http://download.virtualbox.org/virtualbox/寻找对应的版 ...
- Java将string内容写入到TXT文件
private static String filePath = "E:\\test.txt"; private static void saveAsFileWriter(Stri ...
- php动态获取网页图片路径~
<?phpheader("Content-type:text/html;charset=utf-8"); 请求的url $url = 'http://dsc.taobaocd ...
- Vue-admin工作整理(十九):从数字渐变组件谈第三方JS库Count-to的使用
1.组件封装基础 npm install countup@latest 2.组件中使用id值 3.组件中获得dom 如何封装一个组件,在组件中用到需要传入HTML元素ID值的JS库时如何处理,如何获取 ...
- react native 0.55.4 rctsrwebsocket会崩溃的问题解决 直接原文覆盖
//// Copyright 2012 Square Inc.//// Licensed under the Apache License, Version 2.0 (the "Licens ...
- vim编辑器-多行加注释与去注释
在使用vim编辑器时,有时候需要对多行代码进行加注释或去注释,下面将介绍两种方法. 方法一:块选择模式 1. 插入注释 (1)首先按键盘上的ESC进入命令行模式 (2)再按Ctrl+V进入VISUAL ...