Python必知必会 os 模块详解(一)

简介: Python必知必会 os 模块详解

Python os 模块


os是“operating system”的缩写,os模块提供各种 Python 程序与操作系统进行交互的接口,使用os模块,一方面可以方便地与操作系统进行交互,另一方面页可以极大增强代码的可移植性


注意 一定要使用 import os 而不是 from os import * 。这将避免内建的 open() 函数被 os.open() 隐式替换掉,因为它们的使用方式大不相同。


os模块的常用操作


import os


  • os.getcwd() 获取当前工作路径


os.getcwd()


  • os.chdir() 切换工作路径


# 将工作目录切换到'D:/Pycharm'
os.chdir('D:/Pycharm')  
print(os.getcwd()) #D:\Pycharm


  • os.environ 获取所有的环境变量,


os.environ


  • os.getlogin()返回通过控制终端进程进行登录的用户名


os.getlogin()


  • os.name 返回python运行的环境系统
os.name
'''
返回值的意思
posix  Linux 和 Mac OS
nt  Windows
java  Java 虚拟机环境
''' 


  • os.mkdir 创建一个新的文件价夹,不能创建多级的文件夹
    当文件夹已经存在时会报错FileExistsError
    创建多级的文件夹会报错FileNotFoundError
# 在当前目录下创建一个名为test的文件夹
os.mkdir('test')
# 报错内容
# FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。: 'test'


  • os.makedirs() 创建多级目录
# 创建a文件夹,并且在a文件夹下创建b文件夹
os.makedirs('a/b')


  • os.rmdir() 删除空文件夹
    如果如果删除的文件夹非空OSError: [WinError 145] 目录不是空的。'filename'


# 删除文件夹a
os.rmdir('a')


  • os.removedirs() 递归删除目录。
    工作方式类似于 rmdir(),不同之处在于,如果成功删除了末尾一级目录,removedirs() 会尝试依次删除 path 中提到的每个父目录,直到抛出错误为止(但该错误会被忽略,因为这通常表示父目录不是空目录)
# 删除文件夹 文件夹 a及子文件夹b
os.removedirs('a/b')


  • os.remove() 删除文件


# 删除文件a.txt
os.remove('a.txt')


  • os.rename(src, dst) 将文件或路径(文件夹)重命名,以及移动文件夹
    src 原路径,dst修改后的命名
    只能重命名原路径 src 最后的路径或文件的名字,中间路径都必须要存在,否则就会抛出FileNotFoundError
# 将文件名b修改成文件名c
os.rename('a/b','a/c')
# 文件目录:  a/c c文件夹是a文件夹的子文件夹
# 将文件c移动到和a同级目录下
os.rename('a/c','c')
# 文件目录:  a/c c文件夹是a文件夹的子文件夹 
# 将文件c移动到和a同级目录下并改名为'newname'
os.rename('a/c','newname')
# 文件目录: a/c/w.txt
# 将文件w.txt修改成ww.txr
os.rename('a/c/w.txt','a/c/ww.txt')
# 同样也可以移动文件并重名的方式一样,用法和移动文件并重名的方式一样


  • os.renames(old, new)递归重命名目录或文件。
  • 工作方式类似 rename(),除了会首先创建新路径所需的中间目录。重命名后,将调用 removedirs() 删除旧路径中不需要的目录。
# 重命名可以重命名中间路径(实际上是,先新建新的目录,然后判断原目录是否可以删除,如果可以删除,就删除)
os.renames('a/b/a.txt','a/c/aaa.txt')
相关文章
|
7天前
|
Python
手撕Python!模块、包、库,傻傻分不清?一分钟带你弄明白!
手撕Python!模块、包、库,傻傻分不清?一分钟带你弄明白!
20 1
|
8天前
|
存储 JavaScript 前端开发
nodejs os模块
nodejs os模块
17 0
|
8天前
|
存储 Python
Python时间模块四大必备知识点
Python时间模块四大必备知识点
18 4
Python时间模块四大必备知识点
|
4天前
|
JSON API 数据格式
Python网络编程:HTTP请求(requests模块)
在现代编程中,HTTP请求几乎无处不在。无论是数据抓取、API调用还是与远程服务器进行交互,HTTP请求都是不可或缺的一部分。在Python中,requests模块被广泛认为是发送HTTP请求的最简便和强大的工具之一。本文将详细介绍requests模块的功能,并通过一个综合示例展示其应用。
|
4天前
|
XML 存储 数据格式
使用Python的zipfile模块巧解Word批量生成问题
通过以上步骤,我们得到了填充了特定数据的 Word 文档。这个过程可以通过循环对多个数据集重复执行,从而实现批量生成多个 Word 文档的目标。
11 5
|
2天前
|
Python
Python模块的创建方法?
【8月更文挑战第18天】Python模块的创建方法?
4 2
|
2天前
|
Shell Python 容器
Python模块
【8月更文挑战第18天】Python模块
7 2
|
2天前
|
Shell Python 容器
Python模块是其代码组织和重用的基本方式。
【8月更文挑战第18天】Python模块是其代码组织和重用的基本方式。
8 1
|
8天前
|
PyTorch TensorFlow 算法框架/工具
手撕Python! 模块、包和库一分钟搞定!
手撕Python! 模块、包和库一分钟搞定!
15 1
|
12天前
|
存储 安全 Python
[python]使用标准库logging实现多进程安全的日志模块
[python]使用标准库logging实现多进程安全的日志模块