zoukankan      html  css  js  c++  java
  • 模块之 import os 模块一

    1.os模块是什么?

     os模块是与操作系统交互的一个接口

    import os
    把绝对路径不符合规范的/改成操作系统默认的格式
    p=os.path.abspath('C:pythoneos模块.py')
    print(p)
    p1=os.path.abspath('os模块.py')#给相对路径找到绝对路径
    print(p1)

    os.path.split()#把一个路径分成两段,第二段是一个文件夹或文件
    p2=os.path.split('C:pythoneos模块.py')
    print(p2)
    p3=os.path.split('C:pythone')
    print(p3)

    判断文件/文件夹是否存在
    p6=os.path.exists('C:pythoneos模块.py')#如果有这个文件返回True
    print(p6)
    p5=os.path.exists('C:pythonelll模块.py')#如果没有这个文件返回 False
    print(p5)
    p7=os.path.isabs('os模块.py')#是否是绝对路径
    print(p7)
    p8=os.path.isdir('C:python作业作业day19')#判断是否为目录
    print(p8)
    p9=os.path.isfile('C:python作业作业day19os模块.py')#判断是否是文件
    print(p9)

    path = os.path.join('D:sylars15','abc')# 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
    print(path)
    size=os.path.getsize('C:python作业作业day19os模块.py')#文件大小
    print(size)
    size1=os.path.getsize('C:python作业作业day19')#文件夹大小时4096
    print(size1)


    循环 # 堆栈思想
    列表 满足一个顺序 先进来的后出去
    lst=[r'C:python作业',] #列表的第一个目录是要我统计的目录
    s=0
    while lst:
    p1=lst.pop() #给p1赋值为路径
    p1_list=os.listdir(p1)#列出列出所有的文件和目录
    # print(p1_list) #打印出来'C:python作业'的所有一级文件的内容
    for name in p1_list: #循环所有的文件目录
    p2=os.path.join(p1,name)#加上绝对路径('C:python作业')加循环出来的目录
    if os.path.isdir(p2):#判断循环出来是否是文件夹
    lst.append(p2)#如果是把它加入到lst中重新循环
    else:
    s+=os.path.getsize(p2)#如果不是目录把文件大小加起来
    print(s)
    递归我水平太菜了,递归不会哈哈只好找别人的
    # 递归
    # def func(path):    
    #     size_sum = 0
    #     name_lst = os.listdir(path)
    #     for name in name_lst:
    #         path_abs = os.path.join(path,name)
    #         if os.path.isdir(path_abs):
    #             size = func(path_abs)
    #             size_sum += size
    #         else:
    #             size_sum += os.path.getsize(path_abs)
    #     return size_sum
    #
    # ret = func(r'D:sylars15')
    # print(ret)
    os.makedirs('dirname1/dirname2')    可生成多层递归目录
    os.removedirs('dirname1')    若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
    os.mkdir('dirname')    生成单级目录;相当于shell中mkdir dirname
    os.rmdir('dirname')    删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
    os.listdir('dirname')    列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
    os.remove()  删除一个文件
    os.rename("oldname","newname")  重命名文件/目录
    os.stat('path/filename')  获取文件/目录信息
    
    os.system("bash command")  运行shell命令,直接显示
    os.popen("bash command).read()  运行shell命令,获取执行结果
    os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
    os.chdir("dirname")  改变当前脚本工作目录;相当于shell下cd
    
    os.path
    os.path.abspath(path) 返回path规范化的绝对路径 os.path.split(path) 将path分割成目录和文件名二元组返回 
    os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素 
    os.path.basename(path) 返回path最后的文件名。如何path以/或结尾,那么就会返回空值。即os.path.split(path)的第二个元素
    os.path.exists(path)  如果path存在,返回True;如果path不存在,返回False
    os.path.isabs(path)  如果path是绝对路径,返回True
    os.path.isfile(path)  如果path是一个存在的文件,返回True。否则返回False
    os.path.isdir(path)  如果path是一个存在的目录,则返回True。否则返回False
    os.path.join(path1[, path2[, ...]])  将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
    os.path.getatime(path)  返回path所指向的文件或者目录的最后访问时间
    os.path.getmtime(path)  返回path所指向的文件或者目录的最后修改时间
    os.path.getsize(path) 返回path的大小
  • 相关阅读:
    117. Populating Next Right Pointers in Each Node II
    50. Pow(x, n)
    494. Target Sum
    Word Ladder
    HDU 4417
    POJ 2104
    POJ 3277
    【转】图论500题
    POJ 2991
    POJ 1436
  • 原文地址:https://www.cnblogs.com/LW-LW-LW/p/9514463.html
Copyright © 2011-2022 走看看