Python中的OS库

  • 1. 导入os模块
  • 2. 文件和目录操作
  • 2.1 获取当前工作目录
  • 2.2 更改当前工作目录
  • 2.3 列出目录内容
  • 2.4 检查路径是否存在
  • 2.5 检查是否为文件或目录
  • 2.6 创建目录
  • 2.7 删除目录
  • 2.8 重命名文件或目录
  • 2.9 删除文件
  • 2.10 文件属性
  • 3. 环境变量
  • 3.1 获取环境变量
  • 3.2 设置环境变量
  • 4. 进程管理
  • 4.1 获取当前进程ID
  • 4.2 执行系统命令
  • 4.3 使用subprocess模块执行命令
  • 5. 操作系统信息
  • 5.1 获取操作系统名称
  • 5.2 获取文件分隔符
  • 5.3 获取换行符
  • 6. 文件路径操作
  • 6.1 连接路径
  • 6.2 分割路径
  • 6.3 获取文件扩展名
  • 7. 文件操作示例
  • 在Python中os模块提供了许多与操作系统进行交互的功能,如文件和目录操作、环境变量访问、进程管理等。它是Python标准库的一部分,无需额外安装即可使用

    1. 导入os模块

    import os
    

    2. 文件和目录操作

    2.1 获取当前工作目录

    可以使用os.getcwd()函数获取当前工作目录

    current_directory = os.getcwd()
    print("当前工作目录:", current_directory)
    

    2.2 更改当前工作目录

    使用os.chdir(path)可以更改当前工作目录

    os.chdir('/path/to/new/directory')
    print("新的工作目录:", os.getcwd())
    

    2.3 列出目录内容

    os.listdir(path)函数可以列出指定目录下的所有文件和子目录

    contents = os.listdir('.')
    print("目录内容:", contents)
    

    2.4 检查路径是否存在

    使用os.path.exists(path)可以检查指定路径是否存在

    path = '/path/to/check'
    if os.path.exists(path):
        print("路径存在")
    else:
        print("路径不存在")
    

    2.5 检查是否为文件或目录

    os.path.isfile(path)和os.path.isdir(path)分别用于检查路径是否为文件或目录

    if os.path.isfile(path):
        print("是文件")
    elif os.path.isdir(path):
        print("是目录")
    else:
        print("未知类型")
    

    2.6 创建目录

    使用os.mkdir(path)创建单级目录,使用os.makedirs(path)创建多级目录

    os.mkdir('new_directory')
    os.makedirs('parent/child')
    

    2.7 删除目录

    使用os.rmdir(path)删除空目录,使用shutil.rmtree(path)删除非空目录

    import shutil
    os.rmdir('empty_directory')
    shutil.rmtree('non_empty_directory')
    

    2.8 重命名文件或目录

    使用os.rename(src, dst)重命名文件或目录

    os.rename('old_name.txt', 'new_name.txt')
    

    2.9 删除文件

    使用os.remove(path)删除文件

    os.remove('file_to_delete.txt')
    

    2.10 文件属性

    获取文件大小使用os.path.getsize(path),获取修改时间使用os.path.getmtime(path)

    file_size = os.path.getsize('some_file.txt')
    modification_time = os.path.getmtime('some_file.txt')
    print("文件大小:", file_size, "字节")
    print("修改时间:", modification_time)
    

    3. 环境变量

    3.1 获取环境变量

    使用os.getenv(variable_name)获取指定环境变量的值

    value = os.getenv('HOME')
    print("HOME环境变量:", value)
    

    3.2 设置环境变量

    使用os.environ[‘variable_name’] = value设置环境变量

    os.environ['MY_VAR'] = 'my_value'
    print("MY_VAR环境变量:", os.getenv('MY_VAR'))
    

    4. 进程管理

    4.1 获取当前进程ID

    使用os.getpid()获取当前进程的ID

    pid = os.getpid()
    print("当前进程ID:", pid)
    

    4.2 执行系统命令

    使用os.system(command)执行系统命令

    os.system('ls -l')
    

    4.3 使用subprocess模块执行命令

    推荐使用subprocess模块来执行外部命令,因为它更灵活和安全

    import subprocess
    result = subprocess.run(['ls', '-l'], capture_output=True, text=True)
    print("命令输出:", result.stdout)
    

    5. 操作系统信息

    5.1 获取操作系统名称

    使用os.name获取操作系统的名称

    print("操作系统名称:", os.name)
    

    5.2 获取文件分隔符

    使用os.sep获取当前操作系统使用的路径分隔符

    print("路径分隔符:", os.sep)
    

    5.3 获取换行符

    使用os.linesep获取当前操作系统使用的换行符

    print("换行符:", os.linesep)
    

    6. 文件路径操作

    6.1 连接路径

    使用os.path.join(path, *paths)连接路径部件

    path = os.path.join('directory', 'subdirectory', 'file.txt')
    print("连接后的路径:", path)
    

    6.2 分割路径

    使用os.path.split(path)分割路径为目录和文件名

    directory, filename = os.path.split('/path/to/file.txt')
    print("目录:", directory)
    print("文件名:", filename)
    

    6.3 获取文件扩展名

    使用os.path.splitext(path)分割文件名和扩展名

    filename, extension = os.path.splitext('file.txt')
    print("文件名:", filename)
    print("扩展名:", extension)
    

    7. 文件操作示例

    import os
    
    # 获取当前工作目录
    current_dir = os.getcwd()
    print("当前工作目录:", current_dir)
    
    # 列出目录内容
    contents = os.listdir(current_dir)
    print("目录内容:", contents)
    
    # 检查路径是否存在
    path = 'example_dir'
    if not os.path.exists(path):
        os.mkdir(path)
        print("创建目录:", path)
    else:
        print("目录已存在:", path)
    
    # 创建文件
    file_path = os.path.join(path, 'example.txt')
    with open(file_path, 'w') as file:
        file.write("Hello, os module!")
    
    # 检查文件是否存在
    if os.path.isfile(file_path):
        print("文件存在:", file_path)
    else:
        print("文件不存在:", file_path)
    
    # 获取文件大小
    file_size = os.path.getsize(file_path)
    print("文件大小:", file_size, "字节")
    
    # 删除文件
    os.remove(file_path)
    print("删除文件:", file_path)
    
    # 删除目录
    os.rmdir(path)
    print("删除目录:", path)
    

    作者:Colin♛

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python中的OS库

    发表回复