常用模块

 python导入模块的顺序

1.从当前目录下找需要导入的python文件

2.从python环境变量中找

(先从当前目录下找,如果当前目录下没有就去python环境变量中找。如果一个模块1.2中都有,执行当前目录。)

sys.path.append(r'F:\jiangmengmeng\day413\0420') #要导入其他目录的模块,先把他加入到环境变量
sys.path.insert(0,r'F:\jiangmengmeng\day413\0420')   #用这个加入环境变量中更好,直接加在第一位

 

导入模块的实质:就是把这个模块从头到尾执行一次

1.当前目录下导入python文件

当前文件夹新建 xiaomeng  这个模块

import xiaomeng    #今天下雨了   我是lily
import xiaomeng
print(xiaomeng.name)
xiaomeng.my()                   #今天下雨了  我是lily   lily  我是lily

 当前文件夹新建 xiaomeng  这个模块

 

import xiaomeng
print(xiaomeng.name)
xiaomeng.my()         #lily   我是lily

 也可以用另外一种写法

from xiaomeng import my,name
my()
print(name)

2 从python环境变量中找

import sys

print(sys.path)   找到python环境变量路径,然后把模块放到这个路径下就可以了,重复当前目录操作方法。

 

random模块

import random,string
print(string.printable)
print(random.randint(1,10))  #随机取整数
print(round(random.uniform(1,99),2)) #随机小数
print(random.choice([1,2,3,4]))  #只能随机取一个元素
print(random.sample(string.printable,5))  #随机取N个元素,返回的是一个list
#洗牌
pickts = ['A','J','K','Q',2,3,4,5,6]
random.shuffle(pickts)   #只能传 list  因为字符串不能修改
print(pickts)

 os模块

import os
#linux 操作   r4读  w2写   x1执行
#os.chmod('x.py',2)   #给文件/目录加权限,只对linux
# print(os.chdir("../0512"))   #更改当前目录(回到上一级),返回None
# print(os.getcwd())  #取当前工作目录    #F:\jiangmengmeng\day413\0512
#绝对路径   把路劲写齐
#相对路径  相对当前目录
#print(os.makedirs("nhy/python"))#创建文件夹,如果父目录不存在,会自动创建父目录
#print(os.mkdir("zll/huangrong"))#创建文件夹,如果父目录不存在,会报错  #报错
# print(os.remove("a.txt")) #只能删文件
# print(os.rmdir("day4"))  #只能删文件夹
#print(os.listdir('e:\\'))  #列出一个目录下所有的文件   传的是一个list
#os.rename("day3.py","day4.py") #重命名
#print(os.stat("day2.py"))#获取文件信息
#print(os.sep)  #当前系统的路劲分隔符   #\
#可以这么写出每个操作系统 day5+os.sep+x.py
#print(os.linesep) #获取操作系统的换行符
#print(os.pathsep)# 当前系统的环境变量中每个路劲的分隔符 windows是;  linux是:
#print(os.environ) #获取当前系统的环境变量
#print(os.name)  #当前系统名称 windows是 nt,linux是posix
#res = os.system('ipconfig')  #执行操作系统的命令,但是获取不到结果  #0
# res = os.popen('ipconfig').read()  #popen可以获取到到命令执行的结果
# print(res)

#print(__file__)  #获取到当前文件的绝对路劲
# print(os.path.abspath('.'))  #获取到绝对路径
#print(os.path.abspath(__file__)) #获取相对路径
#print(os.path.split("/usr/hehe/hehe.txt"))  #分割路径和文件名('/usr/hehe', 'hehe.txt')
#print(os.path.dirname("F:\\jiangmengmeng\day413"))  #获取父目录,就是上一级目录F:\jiangmengmeng
#print(os.path.basename("F:\\jiangmengmeng\day413\414\json操作.py"))  #获取最后一级
#print(os.path.exists("/nhy/hhh"))   #判断文件/目录是否存在  不存在返回False,存在返回True
#print(os.path.isfile("day2.py"))  #判断文件是否存在和是不是一个文件 返回True或Fales
#print(os.path.isdir("F:\\jiangmengmeng"))#判断目录是否存在和是不是一个文件 返回True或Fales
#size = os.path.getsize("day1.py")  #获取文件的大小,不能超过2m
#print(size)
#print(os.path.join("root",'hehe','a.sql'))#拼接成一个路径  #root\hehe\a.sql
# for data in os.walk(r'F:\jiangmengmeng\day413\day6'):
#     print(data)
# ('F:\\jiangmengmeng\\day413\\day6', ['test'], ['cc.py'])
# ('F:\\jiangmengmeng\\day413\\day6\\test', ['test1'], ['a.py'])
#                                             文件夹     文件
# ('F:\\jiangmengmeng\\day413\\day6\\test\\test1', [], ['1.txt'])

for abs_path,dir,file in os.walk(r'F:\jiangmengmeng\day413\day6'):    #获取目录下的内容

 

#abs_path  当前循环的绝对路劲
  #dir 目录下面所有的文件夹  返回是个list[ ]
  #file 目录下面所有的文件   返回是个list[ ]
    print(abs_path,dir,file)

sys模块

 

import sys
# print(sys.platform)  #判断操作系统
#print(sys.path)  #python的环境变量
print(sys.argv)  #用来获取命令行里面运行python文件的时候传入的参数,它是一个list,这个list默认就有一个参数,就是当前这个文件名
                                                                                #['F:/jiangmengmeng/day413/温故知新/day2.py']

下面写个小工具tools.py来说明sys.argv的作用

  (1) 用来获取命令行里面运行python文件的时候传入的参数
  (2) 它是一个list
  (3) 这个list默认就有一个参数,就是当前的这个文件名

import sys

command = sys.argv
if len(command)>1:
    cmd1 = command[1]   #取第一个元素
    if cmd1 == '--help':
        print('这个是帮助文档'
              '这个python文件是用来说明sys.argv的作用')
    elif cmd1 == 'os':
        print('当前的操作系统是%s'%sys.platform)
    else:
        print('输入命令有误')
else:
    print('运行python文件的时候要传入一个参数'
          'e.g'
          'python xx.py install')

在当前目录下运行命令行,或者在pycharm中打开Terminal

输入python tools.py --help,即打印“这个是帮助文档这个python文件是用来说明sys.argv的作用”

时间模块  time

import time
#1 时间戳  从unix元年到现在过了多少秒
#2 格式化好的时间
# print(time.time())  #获取当前的时间戳
# time.sleep(10)    #休息10秒钟
# today = time.strftime('%Y-%m-%d %H:%M:%S') #获取到格式化好的时间
# print(today)

1)时间戳转成格式化好的时间

1.时间戳转成时间元祖  time.localtime()
2.再把时间元祖转成格式化的时间
#时间戳不能直接转成格式化好的时间,要先转成时间元祖
print(time.gmtime())  # 时间元祖   默认取的标准时区的时间
print(time.localtime())  #时间元祖   取到当前时区的时间
s = time.localtime(1524815288) #加时间戳进去转换成时间元祖
t = time.strftime('%Y%m%d %H:%M:%S',s)#时间元祖转格式化时间
print(t)

2)格式化好的时间转时间戳    2018-4-27

tp = time.strptime('2018-4-27','%Y-%m-%d')   #格式化时间转成时间元祖
print(tp)
print(time.mktime(tp))   #时间元祖转换成时间戳

 

 

时间戳转格式化好的时间函数

import time
def
timestamp_to_fomat(timestamp=None,format='%Y-%m-%d %H:%M:%S'): #timestamp=None 解释 如果传进来是时间戳那就转换成格式化好的时间,如果没传时间戳那就返回当前时间 #默认返回当前格式化好的时间 #传入时间戳的话,把时间戳转换成格式化好的时间 if timestamp: #如果传进来时间戳 time_tuple = time.localtime(timestamp) #转时间元祖 res = time.strftime(format,time_tuple) #时间元祖转格式化时间 else: res = time.strftime(format) #默认取当前时间 return res print(timestamp_to_fomat()) #当前时间 print(timestamp_to_fomat(19733242,'%Y-%m')) #只取年月

 格式化时间转成时间戳函数

import time
def
strToTimestamp(str=None,format='%Y%m%d%H%M%S'): #20180421165643 if str: #如果传了格式化好的时间 tp = time.strptime(str,format) #转成时间元祖 res = time.mktime(tp) #转成时间戳 else: res = time.time() #默认取当前的时间戳 return int(res) print(strToTimestamp()) #返回当前时间戳 print(strToTimestamp('20180611152843')) # print(strToTimestamp('2018-04-2','%Y-%m-%d'))

 datetime

import datetime
print(datetime.datetime.today())   #获取当前时间,精确到秒
print(datetime.date.today())   ##获取当前时间,精确到天
res = datetime.date.today()+datetime.timedelta(days=-5)     #获取5天前
print(res)
res = datetime.date.today()+datetime.timedelta(days=5)     #获取5天后
print(res)
res = datetime.datetime.today()+datetime.timedelta(minutes=5)  #获取5分钟后
print(res)
res = datetime.datetime.today()+datetime.timedelta(seconds=50)  #获取50秒后
print(res)
res = datetime.datetime.today()+datetime.timedelta(weeks=1)  #获取1周后
print(res)
print(res.strftime('%Y-%m-%d'))   #获取格式化好的时间

 hashlib  md5加密模块

# import hashlib
# m = hashlib.md5()#  实例化md5对象,bytes
# passwd = 'nhy123'
# #passwd.encode() #把字符串转成bytes类型
# m.update(passwd.encode())  #不能直接对字符串加密,要先把字符串转成bytes类型
# print(m.hexdigest())
#md5只能加密,不能解密

hashlib    md5加密函数

import hashlib
def my_md5(str):
    new_str = str.encode()#把字符串转成bytes类型
    m = hashlib.md5()  #实例化md5对象
    m.update(new_str)  #加密
    return m.hexdigest()#获取返回结果
print(my_md5('nhy'))

 

posted @ 2018-05-25 17:11  xiaomeng15  阅读(157)  评论(0编辑  收藏  举报