当前位置: 首页 > news >正文

Python标准库之os模块常用方法

一、os模块简介

os模块是Python标准库中与操作系统交互的一个重要模块。它提供了非常丰富的方法来处理文件、目录以及与操作系统相关的操作,让我们可以编写跨平台的代码,无论是在Windows、Linux还是macOS系统上都能运行。

二、文件和目录操作

  1. 获取当前工作目录

    import os
    current_dir = os.getcwd()
    print(current_dir)
    

    这里使用os.getcwd()方法获取当前Python脚本所在的工作目录。它返回一个字符串,表示当前工作目录的路径。

  2. 改变当前工作目录

    import os
    new_dir = '/home/user/some_folder'
    try:
        os.chdir(new_dir)
        print(f"成功切换到目录: {os.getcwd()}")
    except FileNotFoundError:
        print(f"目录 {new_dir} 不存在")
    

    os.chdir()方法用于改变当前工作目录。如果指定的目录不存在,会抛出FileNotFoundError异常。

  3. 创建目录

    • 创建单个目录
    import os
    new_dir = 'new_folder'
    try:
        os.mkdir(new_dir)
        print(f"目录 {new_dir} 创建成功")
    except FileExistsError:
        print(f"目录 {new_dir} 已存在")
    

    os.mkdir()方法用于创建一个新的目录。如果目录已经存在,会抛出FileExistsError异常。

    • 创建多级目录
    import os
    new_dir = 'parent_folder/child_folder/grandchild_folder'
    try:
        os.makedirs(new_dir)
        print(f"目录 {new_dir} 创建成功")
    except FileExistsError:
        print(f"目录 {new_dir} 已存在")
    

    os.makedirs()方法可以递归地创建多级目录。同样,如果目录已存在,会抛出FileExistsError异常。

  4. 删除目录

    • 删除单个空目录
    import os
    dir_to_delete = 'empty_folder'
    try:
        os.rmdir(dir_to_delete)
        print(f"目录 {dir_to_delete} 删除成功")
    except FileNotFoundError:
        print(f"目录 {dir_to_delete} 不存在")
    except OSError:
        print(f"目录 {dir_to_delete} 不为空或无法删除")
    

    os.rmdir()方法只能删除空目录。如果目录不存在,会抛出FileNotFoundError异常;如果目录不为空,会抛出OSError异常。

    • 删除非空目录(需要使用shutil模块辅助)
    import os
    import shutil
    non_empty_dir = 'non_empty_folder'
    try:
        shutil.rmtree(non_empty_dir)
        print(f"目录 {non_empty_dir} 删除成功")
    except FileNotFoundError:
        print(f"目录 {non_empty_dir} 不存在")
    

    shutil.rmtree()方法可以删除非空目录及其所有内容。

  5. 列出目录内容

    import os
    dir_path = '.'
    contents = os.listdir(dir_path)
    for item in contents:
        print(item)
    

    os.listdir()方法返回指定目录中的所有文件和目录名的列表。这里传入.表示当前目录。

三、文件操作

  1. 重命名文件或目录

    import os
    old_name = 'old_file.txt'
    new_name = 'new_file.txt'
    try:
        os.rename(old_name, new_name)
        print(f"重命名成功,从 {old_name}{new_name}")
    except FileNotFoundError:
        print(f"文件 {old_name} 不存在")
    

    os.rename()方法用于重命名文件或目录。如果源文件不存在,会抛出FileNotFoundError异常。

  2. 删除文件

    import os
    file_to_delete = 'file_to_delete.txt'
    try:
        os.remove(file_to_delete)
        print(f"文件 {file_to_delete} 删除成功")
    except FileNotFoundError:
        print(f"文件 {file_to_delete} 不存在")
    

    os.remove()方法用于删除文件。如果文件不存在,会抛出FileNotFoundError异常。

四、操作系统相关信息获取

  1. 获取操作系统名称

    import os
    os_name = os.name
    if os_name == 'posix':
        print("这是类Unix系统,如Linux或macOS")
    elif os_name == 'nt':
        print("这是Windows系统")
    

    os.name属性返回操作系统的名称,posix表示类Unix系统,nt表示Windows系统。

  2. 获取环境变量

    import os
    path_env = os.getenv('PATH')
    print(f"PATH 环境变量: {path_env}")
    

    os.getenv()方法用于获取指定环境变量的值。这里获取PATH环境变量,它包含了系统用于查找可执行文件的目录列表。

相关文章:

  • Excel Script Lab学习笔记
  • Pytorch使用手册(专题五十)—自定义运算符
  • 《Python深度学习》第三讲:神经网络
  • sqlite mmap
  • nginx配置反向代理数据库等插件的原理和方式
  • Java线程6种状态的详细说明、状态转换关系(UML展示)
  • 汽车安全确认等级-中国等保
  • springboot基于session实现登录
  • 深入解析过滤器模式(Filter Pattern):一种灵活高效的设计模式
  • 让vscode远程开发也可以图形显示
  • 基于BClinux8部署Ceph 19.2(squid)集群
  • Coco AI 智能检索 Hugo Blog 集成指南
  • 我的python学习记录
  • 【蓝桥杯】省赛:分糖果(思维/模拟)
  • Kotlin 基础语法
  • C# 语法糖
  • Docker build 会在本地产生巨大的文件
  • 计算机视觉技术探索:美颜SDK如何利用深度学习优化美颜、滤镜功能?
  • 如何选择合适的SSL服务器证书
  • 深入理解 Vue.js 中的 <keep-alive>:使用技巧与注意事项
  • 建筑网站源码/百度竞价排名正确解释
  • 营销网站建设规划概念/交换友情链接的平台有哪些
  • 微信h5网站模板下载/保定网站seo
  • 基于mysql的网站用什么做/培训公司排名
  • 有道云笔记做网站/广东省白云区
  • 渭南做网站费用/怎么做百度网页