python os和操作系统相关的模块

2 篇文章 0 订阅
1 篇文章 0 订阅

os和操作系统相关的模块

  • os.path.exists(path):如果path存在返回True,否则false

  • Os.stat(“文件路径”).st_size:获取文件大小

  • os.path.abspath():获取文件绝对路径

  • os.path.dirname():上一级目录

  • os.path.basename(path):获取该路径下的文件名字 常用

  • os.path.isfile(path)

  • os.path.isdir(path)

    • r"路径":转义特殊字符
    import os
    v=r"/usr/local/bin/python3.6"
    print(os.path.dirname(v))
    #/usr/local/bin
    
    #r:使用r转义  如果路径中出现特殊字符,r自动转换
    v=r"D:\test\n1.txt”
    #\n特殊
    
  • Os.path.join():路径拼接 兼容wind和linux,mac路径表示不一致问题

    path ="D:\code\s1" #
    v1="/usr/local/bin/n1.mp3"
    result=os.path.join(path,v1)
    result=os.path.join(path,v1,v2,v3)
    
  • Os.listdir():查看一个目录下所有文件[第一层]

    v1="/usr/local/bin"
    result=os.listdir(v1)
    print(result)
    
  • Os.walk():查看当前文件下所有文件(包括嵌套的)

    • 返回一个三元元组(dirpath,dirnames,filename)
    • Dirpath:string 代表目录的路径
    • Dirnames:是一个列表,dirpath下所有子文件夹名字
    • Filename:列表,包含当前目录的所有文件,但是不包含全路径os.path.join(dirpath, name).需要使用
    import os
    result=os.walk("/Users/gaogao/Python_code/day01")
    for root,dirs,files in result:
        print(root,dirs,files)
    
        # for dir in dirs:
        #     print(os.path.join(root,dir))
        #
        # for file in files:#可以查看文件夹下所有文件
        #     print(os.path.join(root,file))
    
    7.写函数实现,查看一个路径下所有的文件【所有】。
    
    import os
    
    def find_file(path):
        result = os.walk(path)
        i=0
        #result数组中每一个元素是一个元组
        for root, dirs, files in result:
            i=i+1
            #temp="第%s层目录"%(i,)
            #print(temp)
            #print("当前目录路径:",root)
            #print("当前路径下的文件夹:",dirs)
            #得到的只是文件名 需要路径拼接
            for file in files:
              		print("当前目录下的文件:",os.path.join(root,files)
            			print("=="*20)
    
    find_file("/Users/gaogao/Python_code/day01")
    
    
    
  • os.mkdir(path):创建目录

  • os.makedirs(path):创建多层目录

    import os
    file_path = r"user.txt"
    with open(file_path, mode='w', encoding="utf-8")as f:
        f.write("fhfhf")
    #不报错 写入成功
    #只是文件的话会 若不存在会自己创建 
    #——————————————————————————————————————————————————————————————————————————
    
    file_path = r"db/user.txt"
    with open(file_path, mode='w', encoding="utf-8")as f:
        f.write("fhfhf")
    
    #FileNotFoundError: [Errno 2] No such file or directory: 'db/user.txt'
    # 报错因为没有db这个文件夹目录 但是如果只是写入到不存在的user.txt文件中,
    # 会在当前工作目录中重新创建user.txt再写入
    #——————————————————————————————————————————————————————————————————————————————
    
    #os.mkdir:创建一层文件夹===>多层文件目录时候os.makedirs("文件夹路径")
    file_path = r"db/user.txt"
    file_folder=os.path.dirname(file_path)#获取父级目录
    if not os.path.exists(file_folder):#如果父级目录不存在
        os.mkdir(file_folder)
    
    with open(file_path, mode='w', encoding="utf-8")as f:
        f.write("fhfhf")
    #db文件夹创建成功 user.txt写入成功
    
    #————————————————————————————————————————————————————————————————————————————
    
    #多层文件夹目录时候
    file_path = r"db/test/user.txt"
    file_folder=os.path.dirname(file_path)#获取父级目录
    print(file_folder)#db/test
    if not os.path.exists(file_folder):#如果父级目录不存在
        os.makedirs(file_folder)
    
    with open(file_path, mode='w', encoding="utf-8")as f:
        f.write("fhfhf")
    #db文件夹创建成功 user.txt写入成功
    
    
  • Os.rename(“old”,“newname”)

    • 若文件或者目录不存在就会报错
    • newname也是一个路径,相当于剪切到那个路径下
    import os
    srcDir = './testDir/ttDir'
    dstDir = './testDir/hhDir'
    os.rename(srcDir,dstDir)
    
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值