zoukankan      html  css  js  c++  java
  • python os模块详细用法

    os 模块提供了非常丰富的方法用来处理文件和目录

    os关于目录路径的方法

    # 获取当前路径
    path = os.getcwd()
    
    # 获取当前绝对路径
    os.path.abspath(path)
     
    # 创建一级目录
    os.mkdir(path)
    
    # 删除空目录
    os.rmdir(path)
    
    # 创建多级目录
    os.makedirs(path)
    
    # 删除多级空目录
    os.removedirs(path)
    
    # 修改路径为path
    os.chdir(path)
    

    包含知识点

    • rmdir的path,如果目录非空,则抛出一个OSError异常
    • 多级目录是指 /test/testing/test,如果三个目录都不存在则都会创建

    os关于文件的方法

    # 获取当前路径下所有文件、文件夹
    os.listdir(path)
    
    # 创建文件方式一
    f = os.open(path + "test.txt", flags=os.O_CREAT | os.O_RDWR )
    
    # 写入文件
    os.write(f, bytes("123",encoding="utf-8"))
    
    # 读取文件
    print(os.read(f,12))
    
    # 关闭文件
    os.close(f)
    
    # 重命名文件
    os.rename(path + "test.txt", path + "tests.txt")
    
    # 删除文件
    os.remove(path + "tests.txt")
    # 递归返回path下的目录(包括path目录)、子目录、文件名的三元组
    for root, dirname, filenames in os.walk(path):
        logzeros.debug(root)
        logzeros.debug(dirname)
        logzeros.debug(filenames)
    

    包含知识点

    • listdir 返回的是一个列表,若没有文件则返回空列表

    • os.write(fd, str) 用于写入bytes字符串到文件描述符 fd 中. 返回实际写入的字符串长度

    • os.read(fd,n) 用于从文件描述符 fd 中读取最多 n 个字节,返回包含bytes字符串

    os.path相关

    os.path.realpath(__file__)

    获取当前文件所在目录

    path = os.path.realpath(__file__)
    print(path)
    

    运行结果

    C:\Users\user\Desktop\py\moocInterface\learn\os_path_learn.py
    

    os.path.abspath(path)

    获取当前path所在路径

    #Python学习交流群:725638078
    path = os.path.abspath(".")
    print(path)
    
    path = os.path.abspath(os.path.realpath(__file__))
    print(path)
    

    运行结果

    C:\Users\user\Desktop\py\moocInterface\learn
    C:\Users\user\Desktop\py\moocInterface\learn\os_path_learn.py
    

    第一行代码跟 os.getcwd() 很像

    path = os.getcwd()
    print(path)
    

    运行结果

    C:\Users\user\Desktop\py\moocInterface\learn
    

    os.path.dirname(path)
    返回path的所在目录的路径

    print(os.path.dirname(r'C:\Users\user\Desktop\py\moocInterface\learn\os_path_learn.py'))
    
    print(os.path.dirname(r'C:\Users\user\Desktop\py\moocInterface\learn'))
    
    # 表示获取当前文件所在目录的上一级目录,即项目所在目录C:\Users\user\Desktop\py\moocInterface
    print(os.path.dirname(os.path.abspath('.'))) 
    

    运行结果

    C:\Users\user\Desktop\py\moocInterface\learn
    C:\Users\user\Desktop\py\moocInterface
    C:\Users\user\Desktop\py\moocInterface
    

    os.path.split(path)
    分离文件名和扩展名,返回(filename文件名,fileextension文件扩展名)二元组

    # 目录
    os.path.split(os.getcwd())
    
    # 文件
    os.path.split(os.path.realpath(__file__))
    

    运行结果

    ('C:\\Users\\user\\Desktop\\py\\moocInterface', 'learn')
    ('C:\\Users\\user\\Desktop\\py\\moocInterface\\learn', 'os_path_learn.py')
    

    os.path.join()
    用于路径拼接,将多个路径组合后返回,第一个绝对路径之前的参数将被忽略

    #Python学习交流群:725638078
    # 拼接目录
    new_path = os.path.join(os.getcwd(), "test")
    print(new_path)
    
    # 拼接文件
    new_path = os.path.join(os.getcwd(), "test.txt")
    print(new_path)
    
    # 拼接多重目录
    new_path = os.path.join(os.getcwd(), "test/test/test")
    print(new_path)
    
    # 拼接多个目录、文件
    new_path = os.path.join(os.getcwd(), "test", "Test", "ok.txt")
    print(new_path)
    

    运行结果

    C:\Users\user\Desktop\py\moocInterface\learn\test
    C:\Users\user\Desktop\py\moocInterface\learn\test.txt
    C:\Users\user\Desktop\py\moocInterface\learn\test/test/test
    C:\Users\user\Desktop\py\moocInterface\learn\test\Test\ok.txt
    

    结尾给大家推荐一个非常好的学习教程,希望对你学习Python有帮助!

    Python基础入门教程推荐:更多Python视频教程-关注B站:Python学习者
    https://www.bilibili.com/video/BV1LL4y1h7ny?share_source=copy_web

    Python爬虫案例教程推荐:更多Python视频教程-关注B站:Python学习者
    https://www.bilibili.com/video/BV1QZ4y1N7YA?share_source=copy_web

  • 相关阅读:
    实现自动进行金额汇总
    实现模糊查询
    手电筒查询
    lov的建立
    日历 的建立
    快速创建Folder
    TAB页制作
    堆叠画布
    弹性域的开发
    注销记录的实现
  • 原文地址:https://www.cnblogs.com/xxpythonxx/p/15530754.html
Copyright © 2011-2022 走看看