Python os模块

本文详细介绍了Python的os模块,涵盖了文件和目录操作、路径处理、环境变量管理、进程启动、系统信息获取、权限控制以及文件系统功能,展示了os模块在开发中的广泛应用。
摘要由CSDN通过智能技术生成

简介

Python的os模块是一个标准库模块,用于提供与操作系统相关的功能(相当于接口)。os模块允许Python程序与文件系统、目录结构、进程管理等操作系统级别的功能进行交互。

主要功能

文件和目录操作

创建、删除、重命名文件和目录;
获取文件和目录的属性信息,如文件大小、权限等;
判断文件或目录是否存在;
遍历文件系统中的目录,列出目录中的文件和子目录。

路径操作

处理文件和目录的路径,包括路径拼接、分割、规范化等。

环境变量操作

获取、设置、删除系统环境变量。

进程管理

启动新的进程。
获取当前进程的信息,如进程ID。

系统信息

获取操作系统的信息,如操作系统类型、版本等。

权限控制

修改文件和目录的权限。

文件系统操作

改变当前工作目录;
创建符号链接(软链接)等。

基本操作

文件和目录

os.remove(path) 或 os.unlink(path) :删除指定路径的文件
os.removedirs:删除文件,并删除中间路径中的空文件夹
os.chdir(path):将当前工作目录改变为指定的路径
os.getcwd():返回当前的工作目录
os.curdir:表示当前目录的符号
os.rename(old, new):重命名文件
os.renames(old, new):重命名文件,如果中间路径的文件夹不存在,则创建文件夹
os.listdir(path):返回给定目录下的所有文件夹和文件名,不包括 ‘.’ 和 ‘…’ 以及子文件夹下的目录(‘.’ 和 ‘…’ 分别指当前目录和父目录)
os.mkdir(name):产生新文件夹
os.makedirs(name):产生新文件夹,如果中间路径的文件夹不存在,则创建文件夹

import os

# 删除指定路径的文件
os.remove("file.txt")

# 删除文件,并删除中间路径中的空文件夹
os.removedirs("path/to/empty/folder")

# 将当前工作目录改变为指定的路径
os.chdir("/new/directory/path")

# 返回当前的工作目录
current_dir = os.getcwd()
print("Current Working Directory:", current_dir)

# 重命名文件
os.rename("old_name.txt", "new_name.txt")

# 重命名文件,如果中间路径的文件夹不存在,则创建文件夹
os.renames("old_name.txt", "new_name.txt")

# 返回给定目录下的所有文件夹和文件名
file_list = os.listdir("/path/to/directory")
print("Files and Folders in Directory:", file_list)

# 产生新文件夹
os.mkdir("/path/to/new_folder")

# 产生新文件夹,如果中间路径的文件夹不存在,则创建文件夹
os.makedirs("/path/to/new_folder/subfolder")

文件路径

os.path.exists(path):检查路径是否存在
os.path.isabs(path):检查路径是否是绝对路径
os.path.isdir(path):检查路径是否为目录
os.path.isfile(path):检查路径是否为文件
os.path.islink(path):检查路径是否为符号链接(软链接)
os.path.samefile(path1, path2):检查两个路径是否指向同一个文件
os.path.join():拼接多个路径组件
os.path.split(path):分割路径为目录和文件名部分
os.path.abspath(path):规范化路径,返回绝对路径

import os

path = '/path/to/some/file.txt'

# 检查路径是否存在
print(os.path.exists(path))

# 检查路径是否为绝对路径
print(os.path.isabs(path))

# 检查路径是否为目录
print(os.path.isdir(path))

# 检查路径是否为文件
print(os.path.isfile(path))

# 检查路径是否为符号链接
print(os.path.islink(path))

# 检查两个路径是否指向同一个文件
path1 = '/path/to/file1.txt'
path2 = '/path/to/file2.txt'
print(os.path.samefile(path1, path2))

# 拼接多个路径组件
dir_path = '/path/to/some'
file_name = 'file.txt'
full_path = os.path.join(dir_path, file_name)
print(full_path)

# 分割路径为目录和文件名部分
dir_name, base_name = os.path.split(path)
print("Directory:", dir_name)
print("File Name:", base_name)

# 规范化路径,返回绝对路径
normalized_path = os.path.abspath('../relative/path')
print("Normalized Path:", normalized_path)

环境变量

os.environ.get(key):获取指定环境变量的值
os.environ[key] = value:设置环境变量的值
del os.environ[key]:删除环境变量
os.environ:包含当前环境变量的字典

import os

# 获取指定环境变量的值
value = os.environ.get('PATH')
print("PATH environment variable:", value)

# 设置环境变量的值
os.environ['MY_VARIABLE'] = 'my_value'

# 删除环境变量
del os.environ['MY_VARIABLE']

# 获取所有环境变量
all_env_variables = os.environ
print("All Environment Variables:", all_env_variables)

进程管理

os.system(command):在命令行中执行系统命令
os.spawn*():用于创建新进程
os.getpid():获取当前进程的ID
os.waitpid(pid, options):等待指定进程的状态

import os

# 在命令行中执行系统命令
os.system('ls -l')

# 创建新进程(示例为Linux下的命令,Windows下请使用不同的命令)
os.spawnlp(os.P_NOWAIT, '/bin/ls', 'ls', '-l')

# 获取当前进程的ID
pid = os.getpid()
print("Current Process ID:", pid)

# 等待指定进程的状态
pid_to_wait = 12345
options = os.WEXITED  # 等待进程正常退出
pid, status = os.waitpid(pid_to_wait, options)
print("Process ID waited:", pid)
print("Exit Status:", status)

权限控制

os.chmod(path, mode):修改文件或目录的权限模式

import os

# 修改文件或目录的权限模式
path = '/path/to/some/file.txt'
os.chmod(path, 0o755)  # 设置文件权限为755(-rwxr-xr-x)

系统信息

os.name:获取操作系统名称
os.uname():获取操作系统的详细信息(Linux特有)

import os

# 获取操作系统名称
os_name = os.name
print("Operating System Name:", os_name)

# 获取操作系统的详细信息(Linux特有)
if os_name == 'posix':
    os_info = os.uname()
    print("Operating System Info:", os_info)

总结

Python的os模块在实际开发中还是挺有用的,可以用它来创建、删除、重命名文件和目录,处理复杂的文件路径,读取和修改环境变量,以及管理和控制进程。这期先写到这里,下期还没想好复习啥,期待一下哈哈哈哈…

  • 23
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pythonos模块是一个用于处理文件系统的常用模块。它提供了各种方法来处理文件和目录。在Pythonos模块是跨平台的,这意味着你不需要关心操作系统使用了什么模块os模块会自动选择并调用正确的模块。 通过使用os模块,你可以轻松地获取当前工作目录(即当前Python脚本所在的目录)的路径,使用`os.getcwd()`方法即可实现。 此外,os模块还提供了许多其他有用的方法,例如`os.listdir()`方法可以列出指定路径下的所有文件和目录。你只需要提供一个路径作为参数,比如`os.listdir("C:Users黄伟Desktoppublishos模块 est_os模块")`就可以获取该路径下的所有文件和目录列表。 总结来说,Pythonos模块是一个十分有用的模块,它提供了处理文件系统的功能,包括获取当前工作目录和列出指定路径下的文件和目录等功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Python OS 模块](https://blog.csdn.net/hj1993/article/details/129431726)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Python模块——os模块详解](https://blog.csdn.net/qq_46416934/article/details/125241212)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值