• 列表的pop()和路径拼接问题


    我竟然发现了新大陆,感觉对列表已经啥也不清楚了

    #pop()删除最后一项
    l=[1,2,3]
    a=l.pop(-1)
    print(a)
    print(l)
    结果:
    3
    [1, 2]
    

      

    练习题:计算文件夹的大小

    1.绝对路径:最完整的路径

    2.相对路径:不完整的路径

    import os
    path1=os.path.abspath('.')                    #该文件的绝对路径
    path2=os.path.abspath('..')                   #该文件上一级的绝对路径
    print(path1)
    print(path2)
    结果:
    F:pycharmproject新建文件夹day0327作业
    F:pycharmproject新建文件夹day0327
    

      

    os.path.join(path[,path2   ])路径的拼接:

    b=os.path.join(path,'/ac')
    print(b)
    
    b1=os.path.join(path,'ac')
    print(b1)
    
    b2=os.path.join(path)
    print(b2)
    
    b3=os.path.abspath(path)#返回规范化path的绝对路径
    print(b3)
    结果:
    F:/ac
    F:Python编程从入门到实践(高清中文版PDF+高清英文版PDF+源代码)ac
    F:Python编程从入门到实践(高清中文版PDF+高清英文版PDF+源代码)
    F:Python编程从入门到实践(高清中文版PDF+高清英文版PDF+源代码)
    
    #注意看这里的区别
    

     注意:第一个绝对路径之前的路径直接被忽略

    b4= os.path.join('windows	emp', 'c:\', 'csv', 'test.csv')
    #将多个路径组合后返回,第一个绝对路径之前的参数将被忽略。 
    print(b4)
    结果:
    c:csv	est.csv
    

      

     

    计算文件夹的大小的过程如下:

    import os
    def get_size(path):
        size=0
        l=[path]
        while l:
            path=l.pop()
            lst=os.listdir(path)
            #列出指定目录下的所有文件和子目录,包含隐藏文件,并以列表的方式打印
    
            for name in lst:
                son_path=os.path.join(path,name)
                #将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
    
                if os.path.isfile(son_path):
                    size+=os.path.getsize(son_path)
                else:
                    l.append(son_path)
        return size
    size=get_size(r'F:Python编程从入门到实践(高清中文版PDF+高清英文版PDF+源代码)')
    print(size)
    结果:
    122364068
    

      

  • 相关阅读:
    重磅!容器集群监控利器 阿里云Prometheus 正式免费公测
    阿里开源 KT Connnect,轻量级云原生测试环境治理平台来啦!
    使用Velero Restic快速完成云原生应用迁移至ACK集群
    Kubernetes 弹性伸缩全场景解析 (一):概念延伸与组件布局
    北京DAY1下午
    洛谷 P3041 [USACO12JAN] Video Game Combos
    Tyvj 1729 文艺平衡树
    bzoj 3238: [AHOI2013]差异
    bzoj 2957: 楼房重建
    bzoj 2660: [Beijing wc2012]最多的方案
  • 原文地址:https://www.cnblogs.com/Zhao159461/p/10608242.html
Copyright © 2020-2023  润新知