Python 中的 os 模块

Python 中的 os 模块

在Python中,os 模块是一个内置的标准库,提供了许多与操作系统交互的功能。它允许你执行一系列操作,如文件和目录操作、环境变量管理等。要在Python脚本中使用os模块,你需要首先导入它。

一些常见的用法:

  • 创建和删除目录
  • 改变当前工作目录
  • 文件操作
  • 获取文件和目录列表
  • 环境变量
python 复制代码
# 导入os模块
import os

创建和删除目录

  • 创建一个新目录:
python 复制代码
os.mkdir('new_directory')
  • 如果要创建多级目录,可以使用 os.makedirs()
python 复制代码
os.makedirs('path/new_directory')
  • 删除目录:
python 复制代码
os.rmdir('new_directory')  # 删除目录
os.removedirs('path/new_directory')  # 删除多级目录

改变当前工作目录

  • 获取当前的工作目录:
python 复制代码
current_dir = os.getcwd()
print(current_dir)
  • 改变当前的工作目录:
python 复制代码
os.mkdir('new_directory')
os.chdir('new_directory')
current_dir = os.getcwd()
print(current_dir)

文件操作

  • 重命名文件:
python 复制代码
# 先切换回当前目录
os.chdir('../')
# 文件改名
os.rename('oldname.txt', 'newname.txt')
  • 删除文件:
python 复制代码
os.remove('file_name.txt')

获取文件和目录列表

  • 列出指定目录下的所有文件和子目录:
python 复制代码
for entry in os.listdir('.'):
    print(entry)

环境变量

设置环境变量(只在当前进程中有效):

python 复制代码
os.environ['ENV_VARIABLE_NAME'] = 'value'

获取环境变量:

python 复制代码
value = os.getenv('ENV_VARIABLE_NAME')
value

执行系统命令

  • 格式:os.system('command')
python 复制代码
os.system('ls') 

获取操作系统相关的属性

python 复制代码
print(os.name)

文件和路径操作

python 复制代码
print(os.path.exists('somefile.txt'))  # 判断文件是否存在
print(os.path.isfile('somefile.txt'))  # 判断是否为文件
print(os.path.isdir('somedir'))  # 判断是否为目录
print(os.path.abspath('somefile.txt'))  # 获取绝对路径
print(os.path.join('somedir', 'somefile.txt'))  # 路径连接
print(os.path.basename('somedir/somefile.txt'))  # 获取文件名
print(os.path.dirname('somedir/somefile.txt'))  # 获取目录路径

文件和目录的高级操作

对于更复杂的文件和目录操作,如复制、移动文件等,推荐使用 shutil 模块:

python 复制代码
import shutil
shutil.copyfile('data.db', 'archive.db')  # 复制文件
shutil.move('/build/executables', 'installdir')  # 移动文件 

文件通配符

  • 使用glob模块来查找符合特定规则的文件列表
python 复制代码
import glob
files = glob.glob('*.txt')  # 查找所有.txt文件
files

附件

本文对应的jupyter notebook源码链接,欢迎下载练习:https://download.csdn.net/download/fx_yzjy101/89835492

如有问题请留言。

相关推荐
_skyming_5 分钟前
OpenCode 如何做到结果不做自动质量评估,为什么结果还不错?
人工智能
南山安23 分钟前
手写 Cursor 核心原理:从 Node.js 进程到智能 Agent
人工智能·agent·设计
码路飞1 小时前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
掘金安东尼1 小时前
如何为 AI 编码代理配置 Next.js 项目
人工智能
aircrushin1 小时前
轻量化大模型架构演进
人工智能·架构
文心快码BaiduComate2 小时前
百度云与光本位签署战略合作:用AI Agent 重构芯片研发流程
前端·人工智能·架构
风象南3 小时前
Claude Code这个隐藏技能,让我告别PPT焦虑
人工智能·后端
曲幽3 小时前
FastAPI压力测试实战:Locust模拟真实用户并发及优化建议
python·fastapi·web·locust·asyncio·test·uvicorn·workers
Mintopia3 小时前
OpenClaw 对软件行业产生的影响
人工智能
陈广亮4 小时前
构建具有长期记忆的 AI Agent:从设计模式到生产实践
人工智能