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

如有问题请留言。

相关推荐
牛奔几秒前
Linux 安装配置Anaconda
python·conda
往日情怀酿做酒 V17639296384 分钟前
Django项目之订单管理part3
后端·python·django
非自律懒癌患者10 分钟前
计算机视觉--图像数据分析基本操作
人工智能·计算机视觉·数据分析
查理零世22 分钟前
【算法】 区间合并(附蓝桥杯真题) python
python·算法·蓝桥杯
机器之心25 分钟前
提前免费!百度连发两款模型,我们实测:能听歌看电影,还会蛐蛐人
人工智能
敖云岚36 分钟前
【云原生技术】容器技术的发展史
开发语言·云原生·perl
lihuayong44 分钟前
RAG的工作原理以及案例列举
人工智能·rag·文本向量化·检索增强生成·语义相似度
果冻人工智能1 小时前
Google 发布 Gemma 3 —— 你需要了解的内容
人工智能
忧郁的蛋~1 小时前
JavaScript性能优化的12种方式
开发语言·javascript·性能优化