python-包、模块

每一个python文件就是一个模块
import xxx
导入模块,实际上就是把你的这个python文件运行了一次
环境变量:
环境变量的作用就是能让一个命令在哪里都可以使用
先从当前目录下,如果找到就直接导入
如果没有找到就去环境变量的目录下找
 
pip install xx
easy_install python3自带
Python2 中没有
from pg import write_log
import包的时候,实际上是把这个包的目录下的init文件执行了一次
 
from pg.write_log import write_log#直接导入包里面python文件里的函数
from pg import write_log#导入包里面的某一个python文件
 
一、模块、包
        什么是模块?
            模块实质上就是一个python文件,它是用来组织代码的,意思就是说把python代码写到里面,文件名就是模块的名称,test.py test就是模块名称。
        什么是包?
            包,package本质就是一个文件夹,和文件夹不一样的是它有一个__init__.py文件,包是从逻辑上来组织模块的,也就是说它是用来存放模块的,如果你想导入其他目录下的模块,那么这个目录必须是一个包才可以导入。
        导入模块
        导入模块的本质,就是把python文件拿过来执行一次。
        使用包中的模块需要在__init__.py文件中from . import xxx
        模块分类:
                标准库:python内置的
                开源模块:第三方
                自定义模块:自己写的
#内置模块,第三方模块,自己写的python文件
#import sys,write_log#导入write_log.py文件,找模块的时候先从当前目录下找,如果找到就直接导入,如果没有找到就去环境变量的目录下找
#write_log.write_log('你好')
#print(sys.path)#python的环境变量
#import write_log

#引用包下面的文件
# from package import write_log#引用包下面的python文件
# write_log.write_log('哈哈')
# #from package.write_log import * #调用文件中所有的方法,最好不要用*
# from package.write_log import write_log#直接导入包里面的函数
# write_log('msg')
# print(name)

 os模块
import os
print(os.getcwd()) # 取当前工作目录
# os.chmod("/usr/local", 7) # 给文件/目录加权限
# print(os.chdir("../")) # 更改当前目录
print(os.curdir) # 当前目录
# print(os.pardir) # 父目录
# print(os.makedirs("/usr/hehe/hehe1")) # 递归创建文件夹,父目录不存在时创建父目录
# print(os.removedirs("/usr/hehe/hehe1")) # 递归删除空目录
print(os.mkdir("test1")) # 创建文件夹
print(os.rmdir("test1")) # 删除指定的文件夹
print(os.remove("test")) # 删除文件
print(os.listdir('.')) # 列出一个目录下的所有文件
os.rename("test", "test1") # 重命名
# print(os.stat("len_os.py")) # 获取文件信息
print(os.sep) # 当前操作系统的路径分隔符
# print(os.linesep) # 当前操作系统的换行符
# print(os.pathsep) # 当前系统的环境变量中每个路径的分隔符,linux是:,windows是;
# print(os.environ) # 当前系统的环境变量
# print(os.name) # 当前系统名称,windows打印的是nt
# print(os.path.abspath(__file__)) # 获取绝对路径
# print(__file__)
# print(os.path.abspath(.))
# print(os.path.abspath(__name__))
# print(os.path.split("/usr/hehe/hehe.txt")) # 分割路径和文件名
print(os.path.dirname("/usr/local")) # 获取父目录
# print(os.path.basename("/usr/local")) # 获取最后一级,如果是文件显示文件名,如果是目录显示目录名
print(os.path.exists("/usr/local")) # 目录/文件是否存在
# print(os.path.isabs(".")) # 判断是否是绝对路径
print(os.path.isfile("/usr/local")) # 判断是否是一个文件
print(os.path.isdir("/usr/local")) # 是否是一个路径
print(os.path.join("/root", 'hehe', 'a.sql')) # 拼接成一个路径
# print(os.path.getatime("len_os.py")) # 输出最近访问时间
# print(os.path.getmtime("len_os.py"))#输出最近访问时间

random模块
import random, string
#print(random.random()) # 随机浮点数,默认取0-1,不能指定范围
# print(random.randint(1, 20)) # 随机整数
# print(random.randrange(1, 20)) # 随机产生一个range
# print(random.choice('x23serw4')) #在可迭代对象里 随机取一个元素,可以传字符串,也可以传list,可迭代对象
# print(random.sample('hello', 2)) # 从序列中随机取几个元素,返回的是一个list
#print(random.uniform(1, 9)) # 随机取浮点数,可以指定范围
x = [1, 2, 3, 4, 6, 7]
random.shuffle(x) # 洗牌,打乱顺序,会改变原list的值
print(x)
# print(string.ascii_letters + string.digits) # 所有的数字和字母
# print(string.ascii_letters)#获取所有大小写字母
# print(string.ascii_lowercase)#小写字母
# print(string.ascii_uppercase)#大写字母
# print(string.digits)#获取数字

sys模块
import sys,time
while 1:#进度条
sys.stdout.write('#')
sys.stdout.flush()
time.sleep(1)

# sys.path.insert(0,r'c:\xxx')#把某个路径加入环境变量
# sys.path.append()#在末尾添加
#sys.argv

#print(sys.platform)
# sys.argv
# 命令行参数List,第一个元素是程序本身路径
# sys.exit(n)
# 退出程序,正常退出时exit(0)
# sys.version
# 获取Python解释程序的版本信息
# sys.maxsize
# 最大的Int值
# sys.path
# 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
# sys.platform
# 返回操作系统平台名称
#sys.stdout.write('please:') # 向屏幕输出一句话
# val = sys.stdin.readline()[:-1] # 获取输入的值
 

time&datetime模块

        time和datetime模块主要用于操作时间

常用的是这两个:
import time
time.sleep(1)#程序休息几秒
print(time.time()) # 获取当前时间戳
print(time.strftime("%Y-%m-%d%H%M%S"))#格式化显示时间

        时间有三种表示方式,一种是时间戳、一种是格式化时间、一种是时间元组

        import datetime,time        
       print(time.timezone)#和标准时间相差的时间,单位是s
       print(time.time())#获取当前时间戳
       print(time.sleep(1))#休息几s
       print(time.gmtime())#把时间戳转换成时间元组,如果不传的话,默认取标准时区的时间戳
       print(time.localtime())#把时间戳转换成时间元组,如果不传的话,默认取当前时区的时间戳
       print(time.mktime(time.localtime()))#把时间元组转换成时间戳
       print(time.strftime("%y%m%d %H%M%S"))#将时间元组转换成格式化输出的字符串
       print(time.strptime("20160204 191919","%Y%m%d %H%M%S"))#将格式化的时间转换成时间元组
       print(time.struct_time)#时间元组
       print(time.asctime())#时间元转换成格式化时间
       print(time.ctime())#时间戳转换成格式化时间
       print(datetime.datetime.now())#当然时间格式化输出
       print(datetime.datetime.now()+datetime.timedelta(3))#3天后的时间
       print(datetime.datetime.now()+datetime.timedelta(-3))#3天前的时间

hashlib
import hashlib
m = hashlib.md5()#
m2 = hashlib.sha224()
m.update(b'yyy')
m2.update(b"yyy")
print(m.hexdigest()) # 16进制格式hash
print(m2.hexdigest()) # 16进制格式hash
 

hashlib模块,主要用于加密相关的操作,在python3的版本里,代替了md5和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法。

                
        import hashlib
         
        m = hashlib.md5()
        m.update(b"Hello")
        m.update(b"It's me")
        print(m.digest())
        m.update(b"It's been a long time since last time we ...")
         
        print(m.digest()) #2进制格式hash
        print(len(m.hexdigest())) #16进制格式hash
        # ######## md5 ########
         
        hash = hashlib.md5()
        hash.update('admin')
        print(hash.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())
 
 
json
json.dump
json.dumps
json.load
json.loads()
 
import json,requests
# url='http://211.149.218.16:8081/get_user'
# res=requests.get(url).text
# #res_dic=json.loads(res)#序列化,把json串转成字典
# fr=open('a.txt')
# f_dic=json.load(fr)#传的是一个文件对象
# print(res_dic)
dic={"name":'kk',"age":19}
fw=open('kk','w')
dic_str=json.dumps(dic)#把字典转换成一个json串
json.dump(dic,fw)#把字典转成一个json传,然后直接写入文件
fw.write(dic_str)
posted @ 2016-11-28 21:27  一粒沙_ly  阅读(266)  评论(0)    收藏  举报