zoukankan      html  css  js  c++  java
  • doraemon的python 模块

    第六章 模块

    6.1 模块

    • 内置模块,python内部提供过的功能

    import sys
    • 第三方模块,下载/安装/使用

    #吧pip.exe 所在的目录添加到环境变量中
    pip install 安装的模块名字  #例如:pip install xlrd
    • 自定义模块(自己写的函数)

      • xxx.py

      def f1():
         print(123)
         
      def f2():
         print(125)
      • x1.py

      #调用自定义函数里面的内容
      import xxx
      xxx.f1()
      xxx.f2()

       

    6.2 sys

    python解释器相关的数据

    • sys.getrefcount,获取一个值得应用计数

    • sys.getrecursionlimit,python默认支持的递归数量

    • sys.stdout.write-->print

    #打印进度条
    import time
    for i in range(1,101):
       msg = "%s%%" %i
       print(msg,end="")
       time.sleep(0.05)
    • sys.argv

    #让用户执行脚本传入要删除的文件路径,在内部帮助用户将目录删除
    import sys
    C:Python36python36.exe D:/code/s21day14/7.模块传参.py D:/test
    sys.argv = [D:/code/s21day14/7.模块传参.py, D:/test]
    path = sys.argv[1]

    impor shutil
    shutil.rmtree(path)
    • sys.path,默认pythn去导入模块时,会按照sys.path中的路劲挨个寻找

    import sys
    sys.path.append('D:\')
    import xxx  #引用默认路径之外的模块
    • json

    json是一个特殊的字符串【长的像列表/字典/字符串/数字/真假】

    为什么要这么做:

    1. 方便除python以外的解释器来运行python编写的代码

    2. 方便将其他解释器编写的代码,转化成python能识别的东西

    import json
    #序列化,将python的值转化成json格式的字符串
    v = [11,22,4,{"k1":"v2"},True,"saf"]
    v1 = json.dumps(v)
    print(v1)

    #反序列化,将json格式的字符串转化成python的数据类型
    v2 = '['alex',123]'
    print(type(v2))
    v3 = json.loads(v2)
    print(v3,type(v3))

     

    6.3 os

    • os.stat('文件名').st_size 读取文件的大小

    import os 
    file_size = os.stat('刘丹妮.mp4').st_size

    read_size = 0
    with open('刘丹妮.mp4',mode = 'rb') as f1,open('a.mp4',mode='wb') as f2:
       while read_size < file_size:
           chunk = f1.read(1024)#每次最多读取1024字节
           f2.write(chunk)
           read_size += len(chunk)
           val = int(read_size/file_size*100)
           print('%s%%/r' %val,end="")
    • os.path.exists(path) , 如果path存在,返回True;如果path不存在,返回False

    • os.path.abspath() , 获取一个文件的绝对路径

    path = '20190409_192149.mp4' 
    import os
    v1 = os.path.abspath(path)
    print(v1)

     

    • os.path.dirname ,获取路径的上级目录

    • import os
      v = r"D:codes21day1420190409_192149.mp4"

      print(os.path.dirname(v))
    • os.path.join ,路径的拼接

    import os
    path = "D:codes21day14" # user/index/inx/fasd/
    v = 'n.txt'

    result = os.path.join(path,v)
    print(result)
    result = os.path.join(path,'n1','n2','n3')
    print(result)
    • os.listdir , 查看一个目录下所有的文件【第一层】

    • import os

      result = os.listdir(r'D:codes21day14')
      for path in result:
         print(path)
    • os.walk , 查看一个目录下所有的文件【所有层】

    import os

    result = os.walk(r'D:codes21day14')
    for a,b,c in result:
       # a,正在查看的目录 b,此目录下的文件夹 c,此目录下的文件
       for item in c:
           path = os.path.join(a,item)
           print(path)
    • os.makedirs,创建目录和子目录

    import os 
    file_path = r'db/sf/sf/er/xxx.txt'

    file_folder = os.patn.dirname(file_path)
    if not os.path.exists(file_path)
    os.makedirs(file_folder)
       
    with open(file_path,mode='w',encoding='utf-8') as f:
       f.write('asdf')
    • os.rename,重命名

    import os 
    os.rename('sb','250')

     

    6.4特殊补充

    v1 = r"D:codes21day14
    1.mp4"  (推荐)
    print(v1)


    v2 = "D:\code\s21day14\n1.mp4"
    print(v2)

    #python在执行过程中,对很敏感,如果按照案例中的来写,很容易就系统报错,r的作用是让左右都被认为仅仅只是,区别去 这种
    • shutil

    import shutil
    shutil.rmtree(path)

     

  • 相关阅读:
    马拉车算法
    n皇后问题(回溯算法)
    求解最大升序子序列问题(动态规划)
    利用二进制进行快速乘法:俄罗斯农名乘法
    Redis、MySQL、Hive、Hbase的区别,数据库和数据仓库的区别
    MySQL数据库
    算法工程师的Bug与Debug
    复习KNN并实现
    文本领域数据增强技术
    Fasttext模型总结
  • 原文地址:https://www.cnblogs.com/doraemon548542/p/11225352.html
Copyright © 2011-2022 走看看