码迷,mamicode.com
首页 > 其他好文 > 详细

模块sys,os,hashlib,time,random

时间:2016-01-21 19:49:38      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

内置模块sys,os

sys.argv           命令行参数List,第一个元素是程序本身路径
sys.exit(n)        退出程序,正常退出时exit(0)
sys.version        获取Python解释程序的版本信息
sys.maxint         最大的Int值
sys.maxunicode     最大的Unicode值
sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform       返回操作系统平台名称
sys.stdout.write(‘please:‘)
val = sys.stdin.readline()[:-1]
print val
os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
os.chdir("dirname")  改变当前脚本工作目录;相当于shell下cd
os.curdir  返回当前目录: (‘.‘)
os.pardir  获取当前目录的父目录字符串名:(‘..‘)
os.makedirs(‘dirname1/dirname2‘)    可生成多层递归目录
os.removedirs(‘dirname1‘)    若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.mkdir(‘dirname‘)    生成单级目录;相当于shell中mkdir dirname
os.rmdir(‘dirname‘)    删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
os.listdir(‘dirname‘)    列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.remove()  删除一个文件
os.rename("oldname","newname")  重命名文件/目录
os.stat(‘path/filename‘)  获取文件/目录信息
os.sep    输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
os.linesep    输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
os.pathsep    输出用于分割文件路径的字符串
os.name    输出字符串指示当前使用平台。win->‘nt‘; Linux->‘posix‘
os.system("bash command")  运行shell命令,直接显示
os.environ  获取系统环境变量
os.path.abspath(path)  返回path规范化的绝对路径
os.path.split(path)  将path分割成目录和文件名二元组返回
os.path.dirname(path)  返回path的目录。其实就是os.path.split(path)的第一个元素
os.path.basename(path)  返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
os.path.exists(path)  如果path存在,返回True;如果path不存在,返回False
os.path.isabs(path)  如果path是绝对路径,返回True
os.path.isfile(path)  如果path是一个存在的文件,返回True。否则返回False
os.path.isdir(path)  如果path是一个存在的目录,则返回True。否则返回False
os.path.join(path1[, path2[, ...]])  将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
os.path.getatime(path)  返回path所指向的文件或者目录的最后存取时间
os.path.getmtime(path)  返回path所指向的文件或者目录的最后修改时间

  

内置模块-hashlib加密

 

# ######## md5 ########
import hashlib
hash = hashlib.md5()
hash.update(‘shanghai‘)
print hash.hexdigest()

 

以上加密算法虽然依然非常厉害,但时候存在缺陷,即:通过撞库可以反解。所以,有必要对加密算法中添加自定义key再来做加密。 

import hashlib
# ######## md5 ########
hash = hashlib.md5(‘898oaFs09f‘)
hash.update(‘admin‘)
print hash.hexdigest()

还不够吊?python 还有一个 hmac 模块,它内部对我们创建 key 和 内容 再进行处理然后再加密

import hmac
h = hmac.new(‘wueiqi‘)
h.update(‘hellowo‘)
print h.hexdigest()

 

# ######## sha1 ########
 
hash = hashlib.sha1()
hash.update(‘admin‘)
print hash.hexdigest()
 
# ######## sha256 ########
 
hash = hashlib.sha256()
hash.update(‘admin‘)
print hash.hexdigest()
 
 
# ######## sha384 ########
 
hash = hashlib.sha384()
hash.update(‘admin‘)
print hash.hexdigest()
 
# ######## sha512 ########
 
hash = hashlib.sha512()
hash.update(‘admin‘)
print hash.hexdigest()

  

常用模块-time  

time的三种表达方式

时间戳: 1970年1月1日之后记录的秒

元祖 包含了:年、日、星期 等    
格式化的字符串: 2015-11-11 11:11
import time
print time.time()                   #时间戳的形式显示
print time.gmtime()                  #元祖形式显示
print time.strftime(‘%Y-%m-%d %H:%M:%S‘) #字符串格式化之后的时间
print time.strptime(‘2015-11-11‘,‘%Y-%m-%d‘)  #格式化字符串转换为元祖结构化
print time.mktime(time.localtime())         #结构化时间转换为时间戳时间

  

#时间运算
import datetime
print datetime.datetime.now()   #显示日期时间
print datetime.datetime.now() - datetime.timedelta(days=5)  #减去5天
print datetime.datetime.now() - datetime.timedelta(hours=1)  #减去1小时
print datetime.datetime.now() + datetime.timedelta(minutes=10) #加10分钟

  

 

random生成随机数  

random生成随机数
import random
print random.random()         #随机生成一个0-1之间的浮点数
print random.randint(1,5)     #随机生成一个1-5之间的整数
print random.randrange(1,5)    #随机生成一个1-4之间的整数

  

random生成随机字母
import random
temp = random.randint(65,90)
print chr(temp)    #chr()函数ascill数字转字符字转字符

 random生成6位验证码

import random
list = []
for i in range(6):  #循环6次,0-5
    if i == random.randint(1,5):
        list.append(str(random.randint(1,5)))
        #转换为str方便jion操作list
    else:
        temp = random.randint(65,90)
        list.append(chr(temp))
print  "".join(list)   #jion()list转换为字符串

  

 

模块sys,os,hashlib,time,random

标签:

原文地址:http://www.cnblogs.com/yangmv/p/5149039.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!