常见的内置模块

常见的内置模块

  • 时间模块之datetime模块
  • os 模块
  • json 模块

时间模块——datetime模块

​ datetime模块与 time 模块类似,都是对时间的操作相关的模块

  • datetime 模块的方法

    方法 作用
    datetime.datetime.today() 获取当前的年、月、日、 时、分、秒
    datetime.date.today() 获取当前的年、月、日
    datetime.time.strftime() 可以自主调节格式,但需要提供格式
    datetime.timedelta( ) 可用于获取的时间差值,定时装置
    datetime.now() 获取当前时间
    datetime.utcnow() 获取当前的格林的时间
  • 调用datetime 的方法

    import datetime
    
    1.res = datetime.datetime.today()    # 获取年月日日分秒的
    
    2.res1 = datetime.date.today()   # 获取年月日的
    print(res)      # 2022-07-15 15:12:04.703795
    print(res1)     # 2022-07-15
    print(res.year) # 2022
    """可以通过句点符的形式,直接单独得到年,月,日等"""
    
    3.res2 = datetime.datetime.strftime('%Y/%m/%d')
    """得到时间后可以通过strftime()的方式,将自己想输出的时间格式写道括号中"""
    
    4.res3 = datetime.timedelta(days=5)          # 获取的时间差值,定时装置
    #             days: float = ...,            天
    #             seconds: float = ...,         秒
    #             microseconds: float = ...,    微妙
    #             milliseconds: float = ...,    毫秒
    #             minutes: float = ...,         分钟
    #             hours: float = ...,           小时
    #             weeks: float = ...,           周
    #         没有的时间可以通过换算得来
    """使用timedelta方法,可以获取时间的插值,当作延时装置。括号中的条件仅限上述情况"""
    
    
    
    print(datetime.datetime.now())
    print(datetime.datetime.utcnow())
    
    c =datetime.datetime(2022, 7, 15, 15, 20)
     print('指定日期:',c)
    

    程序块实现:
    image

os 模块

​ os模块主要是跟当前程序所在的操作系统打交道

  • os 模块的功能

    方法 功能
    mkdir(r'aaa' ) 在执行文件的同级路径下创建单级目录
    makdir( r'bbb\ccc\ddd') 在执行文件的同级路径下创建多级目录(也可创建单级目录)
    rmdir(r'aaa') 删除单级目录(有数据的则不能被删除)
    removedirs(r'ccc') 由内而外递归删除空目录 直到有数据的目录为止
    listdir() 列举指定路径下的文件名称(文件、目录)
    rename(r'a.txt',r'aaa.txt') 重命名文件(将前者的文件名更改成后者)
    remove(r'aaa.txt') 删除文件
    getcwd() 获取当前所在路径
    path.dirname(__ file __) 获取当前文件所在的目录路径
    path.abspath(__ file __) 获取当前文件的绝对路径
    path.exists( ) 判断路径是否存在(存在为True,不存在为False)
    path.isdir( ) 用于判断该路径是否为目录或文件夹(是为True,不是为False)
    path.isfile( ) 只用于判断路径是否是文件(是为True,不是为False)
    path.join() 用于拼接二者的路径
    path.getsize() 获取文件大小 单位为( bytes)
  • os模块的各个功能的使用

    1. 创建目录

      import os
       os.mkdir(r'adc')   # 创建单级目录
      
       os.mkdir(r'ba\ddf\cf')  # 直接报错,无法创建多级目录
      
      os.makedirs(r'dnf\cf\cs')    # 可创建多级目录(也可以创建单级目录)
      

      代码实现:

      image

    2. 删除目录

      import os
      os.rmdir(r'adc')     # 可以产出单级目录
      os.rmdir(r'vn')      # 报错,目录不为空时,不能使用此方法删除
      os.removedirs(r'dnf\cf\cs')  # 由内而外递归删除空目录,直到有数据的目录为止
      

      代码实现:

      image

    3. 列举指定路径下的文件

      import os
       print(os.listdir())  # 结果是列表 
       print(os.listdir(r'D:\\'))
      

      代码实现:

      image

    4. 重命名文件

      import os
      os.rename(r'a.txt',r'aaa.txt')
      

      代码实现:

      image

    5. 删除文件

      import os
      os.remove(r'ez.txt')
      

      直接删除所填写的文件

    6. 获取当前的所在路径

      import os
       print(os.getcwd())   # D:\pc\day24
      

      直接打印出当前文件所在的绝对路径

    7. 与程序启动相关

      import os
      print(os.path.abspath(__file__))  # 获取当前文件的绝对路径(可以不记)
      print(os.path.dirname(__file__))  # 获取当前文件所在的目录路径(必须得记)
      

      代码实现:

      image

    8. 判断路径是否存在

      import os
      print(os.path.exists(r'VN'))      # True
      print(os.path.exists(r'ATM'))     # False
      
      
      # isdir只用于路径是否是目录(文件夹)
      print(os.path.isdir(r'aaa.txt'))  # False
      print(os.path.exists(r'VN'))      # True
      
      
      
      # isfile只用于路径是否是文件
      print(os.path.isfile(r'aaa.txt'))   # True
      print(os.path.isfile(r'VN'))        # False
      

      实现代码:

      image

    9. 拼接路径

      涉及到路径拼接 不要使用加号 建议使用os模块的里面join方法

      import os
      relative_path = r'aaa.txt'
      absolute_path = r'D:\pc\day24\VN'
      
      res = os.path.join(absolute_path, relative_path)
      

      使用join方法,直接将两个文件的路径拼接到一起

      join方法可以自动识别当前所在的操作系统并自动切换正确的分隔符 windows用\ mac用/

    10. 获取文件大小 (单位是 bytes 字节)

      import os
       print(os.path.getsize(r'02 os模块.py'))  # 2363
       print(os.path.getsize(r'a.txt'))  # 17
      

      获取的文件是以字节为单位计数

sys模块

  • sys模块的作用

    ​ sys模块主要是跟python解释器打交道

  • sys模块的方法功能

    方法 功能
    path 结果是列表
    version 查看解释器信息
    platform 查看当前平台
    argv 命令行参数List,第一个元素是程序本身路径
    exit(n) 退出程序,正常退出时exit(0),错误退出sys.exit(1)

    argv 是在cmd中执行的方法

    命令行执行当前文件必须要提供用户名和密码 否则不准执行

    image

json 模块

  • json 模块 的作用

    json模块是不同编程语言之间数据交互必备的模块

    图例展示:

    image

  • json的格式

    数据基于网络传输肯定是二进制 那么在python中只有字符串可以调用encode方法转成二进制数据 所以json格式的数据也属于字符串

    json格式的数据有一个非常明显的特征
    首先肯定是字符串 其次引号是标志性的双引号

  • json的功能

    方法 功能
    dumps( ) 将其他数据类型转换成json格式字符串
    loads() 将json格式字符串转化成对应的数据类型
    dump() 将其他数据数据以json格式字符串写入文件
    load() 将文件中json格式字符串读取出来并转换成对应的数据类型
  • json 序列化和反序列化

    1.序列化
    将其他数据类型转换成json格式字符串

    d = {'name': 'jason', 'pwd': 123}
    import json
    
    res = json.dumps(d)  # 序列化    将其他数据类型转换成json格式字符串
    print(res, type(res))
    

    2.反序列化
    将json格式字符串转换成对应编程语言中的数据类型

    d = {'name': 'jason', 'pwd': 123}
    import json
    res = json.dumps(d)     # 序列化
    res1 = json.loads(res)  # 反序列化
    print(res1,type(res1))
    

    image

    • 在不使用json模块将字典保存在文件中
    d = {'name': 'jason', 'pwd': 123}
     with open(r'b.txt','w',encoding='utf8') as f:
         f.write(str(d))
     with open(r'b.txt','r',encoding='utf8') as f:
         data = f.read()
         print(data, type(data))
    

    ​ 正常情况下,将字典写入文件中,读出的是字符串的形式,而不是字典的形式

    使用json模块将字典保存在文件中
    d = {'name': 'jason', 'pwd': 123}
    import json
    with open(r'b.txt','w',encoding='utf8') as f:
        # f.write(json.dumps(d))
        json.dump(d, f)  # 直接让字典写入文件(json自动帮你完成转换)
    with open(r'b.txt','r',encoding='utf8') as f:
        # data = f.read()
        # res = json.loads(data)
        # print(res, type(res))
        res = json.load(f)
        print(res, type(res))
        
        存入文件中是以json字符串的形式传入其文件中,取出扔是字典
    

    image

posted @ 2022-07-15 19:55  Nirvana*  阅读(39)  评论(0)    收藏  举报