zoukankan      html  css  js  c++  java
  • Python常用库

    os简单介绍

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

    os关于目录路径的方法

     1 # 获取当前路径
     2 path = os.getcwd()
     3 
     4 # 获取当前绝对路径
     5 os.path.abspath(path)
     6 
     7 # 创建一级目录
     8 os.mkdir(path)
     9 
    10 # 删除空目录
    11 os.rmdir(path)
    12 
    13 # 创建多级目录
    14 os.makedirs(path)
    15 
    16 # 删除多级空目录
    17 os.removedirs(path)
    18 
    19 # 修改路径为path
    20 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字符串

    关于 open() 可看此博客:https://www.cnblogs.com/poloyy/p/12350158.html 

    关于 os.walk(path) 可看此博客:https://www.cnblogs.com/poloyy/p/12349230.html 

    os.path相关

    os.path.realpath(__file__) 

    获取当前文件所在目录

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

    运行结果

    C:UsersuserDesktoppymoocInterfacelearnos_path_learn.py

    os.path.abspath(path) 

    获取当前path所在路径

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

    运行结果

    C:UsersuserDesktoppymoocInterfacelearn
    C:UsersuserDesktoppymoocInterfacelearnos_path_learn.py

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

    path = os.getcwd()
    print(path)

    运行结果

    C:UsersuserDesktoppymoocInterfacelearn

    os.path.dirname(path) 

    返回path的所在目录的路径

    print(os.path.dirname(r'C:UsersuserDesktoppymoocInterfacelearnos_path_learn.py'))
    
    print(os.path.dirname(r'C:UsersuserDesktoppymoocInterfacelearn'))
    
    # 表示获取当前文件所在目录的上一级目录,即项目所在目录C:UsersuserDesktoppymoocInterface
    print(os.path.dirname(os.path.abspath('.'))) 

    运行结果

    C:UsersuserDesktoppymoocInterfacelearn
    C:UsersuserDesktoppymoocInterface
    C:UsersuserDesktoppymoocInterface

    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()

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

    # 拼接目录
    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:UsersuserDesktoppymoocInterfacelearn	est
    C:UsersuserDesktoppymoocInterfacelearn	est.txt
    C:UsersuserDesktoppymoocInterfacelearn	est/test/test
    C:UsersuserDesktoppymoocInterfacelearn	estTestok.txt
     
  • 相关阅读:
    vue 2.x 之父组件修改子组件变量
    vue 2.x 之滚动到页面底部加载数据
    sass中calc操作变量失效
    VsCode 同步配置到Gitee(码云)云端之code settings sync 插件
    VSCode常用插件之code settings sync使用
    Vue开发规范
    vue-router 3.x(路由)详细教程
    java设计模式之十桥接模式(Bridge)
    java设计模式之九外观模式(Facade)
    装饰模式与代理模式的区别(转载)
  • 原文地址:https://www.cnblogs.com/poloyy/p/12341231.html
Copyright © 2011-2022 走看看