zoukankan      html  css  js  c++  java
  • python学习笔记(六)— 模块

    一、os、sys模块

    import os
    print(os.getcwd())#取当前工作目录,绝对路径
    print(os.chdir("../"))#更改当前目录
    
    print(os.pardir)  # 父目录,相对路径
    print(os.curdir)#当前目录,相对路径
    
    os.rmdir("a")#删除指定的文件夹,空文件夹
    os.remove("test")  # 删除文件
    os.rename("test1","test")#重命名
    
    print(os.listdir('.'))#列出一个目录下的所有文件
    print(os.stat("f2"))#获取文件信息
    
    print(__file__)#__file__是这个文件的绝对路径
    print(os.path.abspath(__file__))#获取绝对路径
    
    print(os.path.split("/usr/hehe/hehe.txt"))  # 分割路径和文件名
    print(os.path.dirname("/day5/f1"))  # 获取父目录
    print(os.path.basename("/day5/f1"))#获取最后一级,如果是文件显示文件名,如果是目录显示目录名
    
    print(os.path.exists("c://test"))  # 目录/文件是否存在
    print(os.path.isfile("test"))#判断是否是一个文件
    print(os.path.isdir("D:资料笔记Pythonday5"))#是否是一个文件夹
    print(os.path.join("root",'hehe','a.sql'))#拼接成一个路径
    
    print(os.stat("f1"))  # 获取文件信息
    print(os.sep)  # 当前操作系统的路径分隔符
    print(os.linesep)  # 当前操作系统的换行符
    print(os.pathsep)  # 当前系统的环境变量中每个路径的分隔符,linux是:,windows是;
    print(os.environ)  # 当前系统的环境变量
    print(os.name)  # 当前系统名称
    
    os.system('ipconfig')#执行操作系统命令,只能执行,不能获取结果
    res=os.popen('ipconfig')#执行操作系统命令,并且可以获取返回结果
    print(res.read())
    import sys
    print(sys.argv)#命令行参数List,第一个元素是程序本身路径
    sys.exit(n)#退出程序,正常退出时exit(0)
    sys.version#获取Python解释程序的版本信息
    sys.maxint#最大的Int值
    sys.path#返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
    sys.platform#返回操作系统平台名称
    sys.stdout.write('please:')  # 向屏幕输出一句话
    val = sys.stdin.readline()[:-1]  # 获取输入的值

    二、time、datetime模块

    import datetime,time
    time.sleep(1)#休息几s
    print(time.timezone)#和标准时间相差的时间,单位是s
    print(time.time())#获取当前时间戳
    #时间戳是指格林威治时间1970年01月01日00时00分00秒起至现在的总秒数
    '''时间戳和格式化好的时间相互转换的话,要转换成时间元组'''
    print(time.gmtime(181818881))#默认取标准时区的时间戳,输入一个时间戳把时间戳转换成时间元组
    print(time.localtime(181818881))#默认取当前时区的时间戳,输入一个时间戳把时间戳转换成时间元组(北京当前时区,比标准多8小时)
    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天前的时间
    def timestampToStr(time_strmp,format='%Y%m%d%H%M%S'):#时间戳格式化好的时间
        cur_time=time.localtime(time_strmp)
        res=time.strftime(format,cur_time)
        return res
    def strToTimestamp(time_st,format='%Y%m%d%H%M%S'):#格式化好的时间转时间戳
        t = time.strftime(time_st, format)
        res =time.mktime(t)
        return res
    print(timestampToStr(202020))
    print(strToTimestamp("20160204","%Y%m%d"))

    三、加密模块

    import hashlib
    '''md5'''
    a='HHh'
    m = hashlib.md5()
    bytes_a=a.encode()#加密不能传字符串,要输入二进制类型
    m.update(bytes_a)#加密
    print(m.hexdigest())#加密后的结果,Md5不可逆,不能被解密
    def Md5_psw(st:str):#限定了入参的类型
        m = hashlib.md5()
        bytes_st=st.encode()
        m.update(bytes_st)
        return m.hexdigest()
    res=Md5_psw('hhh')
    print(res)
    '''shal'''
    hash = hashlib.sha1()
    print(hash.hexdigest())
    '''sha266'''
    hash = hashlib.sha256()
    print(hash.hexdigest())
    '''sha384'''
    hash = hashlib.sha384()
    print(hash.hexdigest())
    '''sha512'''
    hash = hashlib.sha512()
    print(hash.hexdigest())
    '''base64'''
    import base64
    a='ahha'
    r=a.encode()#字符串变成二进制
    res=base64.b64encode(r)#base64编码
    print(res.decode())#转成字符串
    print(base64.b64encode(res.decode()))

     四、json的处理

    import json
    #json串就是字符串。
    d = {
        'car':{'color':'red','price':100,'count':50},
        '挨粪叉':{'color':'red','price':100,'count':50},
        '挨粪叉1':{'color':'red','price':100,'count':50},
        '挨粪叉2':{'color':'red','price':100,'count':50},
        '挨粪叉3':{'color':'red','price':100,'count':50},
        '挨粪叉4':{'color':'red','price':100,'count':50},
         }
    
    res = json.dumps(d,indent=8,ensure_ascii=False) #把list、字典转成json,indent多少缩进,ensure_ascii可以显示中文
    f1 = open('f1','w',encoding='utf-8')
    f1.write(res)
    
    f1 = open('f1',encoding='utf-8')
    res = f1.read()
    dict_res = json.loads(res)  #把json串变成python的数据类型
    print(dict_res)
    
    f1 = open('f1','w',encoding='utf-8')
    json.dump(d,f1,ensure_ascii=False,indent=4)
    #自动帮你写入文件,第一个参数是数据,第二个是文件对象
    
    f1 = open('f1',encoding='utf-8')
    print(json.load(f1))
    #自动帮你读文件。
  • 相关阅读:
    Linux学习笔记:【004】Linux内核代码风格
    ARM寄存器介绍
    2013 HTML5中国峰会演讲:Android上的HTML5:过去,现在和将来
    Ubuntu下编译SHTOOLS
    反对网抄,没有规则可以创建目标"install" 靠谱解答
    使用MTL库求解最小二乘解
    反对抄袭 正解spring的@Autowired 不要相信网上的错误版本
    浅析GDAL库C#版本支持中文路径问题(续)
    浅析GDAL库C#版本支持中文路径问题
    GDAL库调试(包括跨语言调试)
  • 原文地址:https://www.cnblogs.com/qikelili/p/8303593.html
Copyright © 2011-2022 走看看