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"}