Python编程中的常用模块详解

Written by

in

文章目录
  • 该模块可以看成时间的加减模块 # 返回当前时间 print(datetime.datetime.now()) # 当前时间+3天 print(datetime.datetime.now() + datetime.timedelta(3)) # 当前时间-3天 print(datetime.datetime.now() + datetime.timedelta(-3)) # 当前时间+30分钟 print(datetime.datetime.now() + datetime.timedelta(minutes=30)) # 时间替换 c_time = datetime.datetime.now() print(c_time.replace(minute=20, hour=5, second=13)) print(datetime.date.fromtimestamp(time.time())) #换算成年月日 2019-03-07
  • # 大于0且小于1之间的小数 print(random.random()) # 大于等于1且小于等于3之间的整数 print(random.randint(1, 3)) # 大于1小于3的小数,如1.927109612082716 print(random.uniform(1, 3)) # 列表内的任意一个元素,即1或者‘23’或者[4,5] print(random.choice([1, ’23’, [4, 5]])) 1 #————smaple——-比较常用在数据导入的时候像随机选择数据 # random.sample([], n),列表元素任意n个元素的组合,示例n=2 print(random.sample([1, ’23’, [4, 5]], 2)) [[4, 5], ’23’] lis = [1, 3, 5, 7, 9] # 打乱l的顺序,相当于”洗牌” random.shuffle(lis) print(lis) [1, 3, 9, 7, 5]
  • 目录
    • 一、Time模块
      • 1.时间戳
      • 2.格式化时间
      • 3.结构化时间
      • 4.常见用法:计算程序执行的时间
    • 二、datetime模块
      • 三、random模块
        • 四、os模块
          • 1.os模块负责程序与操作系统交互
          • 2.os的重点模块:
          • 3.os常见操作:获取当前路劲的绝对路劲,获取当前路劲的父路径、父父路劲等
        • 五、sys模块
          • 1.sys模块负责程序与python解释器进行交互
          • 2.sys重点模块
          • 3.案例:实现进度条的打印
        • 六、json和pickle模块
          • 1.序列化
          • 2.序列化的优点:
          • 3.json格式

        time_stamp = time.time()
        print(time_stamp, type(time_stamp))

        format_time = time.strftime("%Y-%m-%d %X")
        print(format_time, type(format_time))
        2024-10-29 16:05:25 <class 'str'>

        print('本地时区的struct_time:n{}'.format(time.localtime()))
        print('UTC时区的struct_time:n{}'.format(time.gmtime()))
        ​
        #本地时区的struct_time:
        time.struct_time(tm_year=2022, tm_mon=8, tm_mday=31, tm_hour=16, tm_min=14, tm_sec=41, tm_wday=2, tm_yday=243, tm_isdst=0)
        #UTC时区的struct_time:
        time.struct_time(tm_year=2022, tm_mon=8, tm_mday=31, tm_hour=8, tm_min=14, tm_sec=41, tm_wday=2, tm_yday=243, tm_isdst=0)

        # 推迟指定的时间运行,单位为秒start = ti# 推迟指定的时间运行,单位为秒
        start = time.time()
        time.sleep(3)
        end = time.time()
        #print(end-start)me.time()time.sleep(3)end = time.time() 
        print(end-start)

        该模块可以看成时间的加减模块

        # 返回当前时间
        print(datetime.datetime.now())
        # 当前时间+3天
        print(datetime.datetime.now() + datetime.timedelta(3))
        # 当前时间-3天
        print(datetime.datetime.now() + datetime.timedelta(-3))
        # 当前时间+30分钟
        print(datetime.datetime.now() + datetime.timedelta(minutes=30))
        # 时间替换
        c_time = datetime.datetime.now()
        print(c_time.replace(minute=20, hour=5, second=13))
        print(datetime.date.fromtimestamp(time.time()))  #换算成年月日
        2019-03-07

        # 大于0且小于1之间的小数
        print(random.random())
        # 大于等于1且小于等于3之间的整数
        print(random.randint(1, 3))
        # 大于1小于3的小数,如1.927109612082716
        print(random.uniform(1, 3))
        # 列表内的任意一个元素,即1或者‘23'或者[4,5]
        print(random.choice([1, '23', [4, 5]]))
        1
        #------------smaple-------比较常用在数据导入的时候像随机选择数据
        # random.sample([], n),列表元素任意n个元素的组合,示例n=2
        print(random.sample([1, '23', [4, 5]], 2))
        [[4, 5], '23']
        lis = [1, 3, 5, 7, 9]
        # 打乱l的顺序,相当于"洗牌"
        random.shuffle(lis)
        print(lis)
        [1, 3, 9, 7, 5]

        os.getcwd()

        os.path.abspath('D:python_base')

        os.path.split('C:\WINDOWS\system32\cmd.exe')

        os.path.join('C:\WINDOWS\system32\cmd.exe','hello')

        os.path.getsize('C:\WINDOWS\system32\cmd.exe')

        # -*- coding: utf-8 -*-
        '''
        @Time    : 2022/09/01 10:25
        @Author  : Rice
        @CSDN : C_小米同学
        @FileName: test.py
        '''
        import os
        print(os.path.abspath(__file__)) #返回当前文件的绝对路劲(路径+文件名)
        print(os.path.dirname(os.path.abspath(__file__))) #返回当前文件的父路径
        print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))#返回当前文件的父路径的父路径
        print(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))

        sys.path:返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值

        sys.version:获取Python解释程序的版本信息

        sys.exit(n):退出程序,正常退出时exit(0)

        #=========知识储备==========
        #进度条的效果
        [#             ]
        [##            ]
        [###           ]
        [####          ]
        #指定宽度
        print('[%-15s]' %'#')
        print('[%-15s]' %'##')
        print('[%-15s]' %'###')
        print('[%-15s]' %'####')
        #打印%
        print('%s%%' %(100)) #第二个%号代表取消第一个%的特殊意义
        #可传参来控制宽度
        print('[%%-%ds]' %50) #[%-50s]
        print(('[%%-%ds]' %50) %'#')
        print(('[%%-%ds]' %50) %'##')
        print(('[%%-%ds]' %50) %'###')
        #=========实现打印进度条函数==========
        def progress(percent,width=100):
            if percent >= 1:
                percent=1
            for i in range(width + 1):
                show_str=('[%%-%ds]' %i) %(int(i * percent) * '#')
                print('r%s %d%%' %(show_str,int(i * percent)),file=sys.stdout,flush=True,end='')
                time.sleep(0.1)
        ​
        progress(1)
        #=========应用==========
        data_size=1025
        recv_size=0
        while recv_size < data_size:
            time.sleep(0.1) #模拟数据的传输延迟
            recv_size+=1024 #每次收1024
            percent=recv_size/data_size #接收的比例
            progress(percent,width=70) #进度条的宽度70

        把对象(变量)从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling,在其他语言中也被称之为serialization, marshalling, flattening.

        1.持久保存状态:内存是无法永久保存数据的,当程序运行了一段时间,我们断电或者重启程序,内存中关于这个程序的之前一段时间的数据(有结构)都被清空了。但是在断电或重启程序之前将程序当前内存中所有的数据都保存下来(保存到文件中),以便于下次程序执行能够从文件中载入之前的数据,然后继续执行,这就是序列化。

        2.跨平台数据交互:序列化时不仅可以把序列化后的内容写入磁盘,还可以通过网络传输到别的机器上,如果收发的双方约定好实用一种序列化的格式,那么便打破了平台/语言差异化带来的限制,实现了跨平台数据交互。

        Json序列化并不是python独有的,json序列化在java等语言中也会涉及到,因此使用json序列化能够达到跨平台传输数据的目的。ison数据举型和python数据举型对应关系表

        Json类型 Python类型
        {} dict
        [] list
        string" str
        520.13 int或float
        true/false True/False
        null None

        到此这篇关于Python编程之常用模块的文章就介绍到这了,更多相关Python常用模块内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

        您可能感兴趣的文章:

        • Python常用内建模块urllib详解
        • Python的time模块一些常用功能(各种与时间相关的函数)
        • Python中queue模块常用函数使用方法
        • python sys模块及常用功能
        • 20个Python random模块常用函数的应用与代码示例
        • Python中sys模块常用方法与变量实例探究
        • Python的sqlite3模块中常用函数
        • Python中的pickle模块常用函数
        • Python常用模块之datetime模块详解

        站内搜索