Python内置OS模块用法详解
大家好,从今天起早起Python将持续更新由小甜同学从初学者的角度学习Python的笔记,其特点就是全文大多由新手易理解的代码与注释及动态演示。刚入门的读者千万不要错过!
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:1097524789
为了配合Python办公自动化系列文章,本文带来的是偷学Python第二十七天:Python内置OS模块的详细用法,其他内容将在近期更新完毕,本文目录如下
目录操作
创建目录
mkdir()
方法用于以数字权限模式当前目录下创建目录。默认的模式为 0777 (八进制),语法格式如下
os.mkdir(path[, mode])
path – 要创建的目录
mode – 要为目录设置的权限数字模式
makedirs()
方法用于递归创建目录。可以创建多个目录,其中exist_ok为False,表示目录存在抛出异常。语法格式如下
os.makedirs(path, mode=0o777)
path – 需要递归创建的目录。
mode – 权限模式。
示例代码
import os
os.mkdir("..\\test_dir") # 创建目录上一级目录
# 判断是否创建成功
print(os.path.isdir("..\\test_dir")) # True
os.makedirs("test_dirs\\test_dir") # 递归创建目录
print(os.path.isdir("test_dirs\\test_dir")) # True
os.makedirs("Y:/02test/Python/02 进阶部分")
print(os.path.isdir("Y:/02test/Python/02 进阶部分")) # True
删除目录
rmdir()
方法用于删除指定路径的目录。仅当这文件夹是空的才可以, 否则, 抛出OSError。语法格式如下
os.rmdir(path)
path – 要删除的目录路径
removedirs()
方法用于递归删除目录。注意如果目录不为空,会抛出OSError:[Errno 66] Directory not empty.语法格式为
os.removedirs(path)
示例代码
import os
os.rmdir("..\\test_dir") # 删除目录
# 判断是否删除成功
print(os.path.isdir("..\\test_dir")) # False 目录不存在表示以删除
os.removedirs("test_dirs\\test_dir") # 递归删除目录
print(os.path.isdir("test_dirs\\test_dir")) # False
os.removedirs("Y:/02test/Python/02 进阶部分")
print(os.path.isdir("Y:/02test/Python/02 进阶部分")) # False
重命名目录
rename()
方法用于命名文件或目录,从 src 到 dst,如果dst是一个存在的目录, 将抛出OSError。
os.rename(src, dst)
src – 要修改的目录名
dst – 修改后的目录名
renames()
方法用于递归重命名目录或文件。类似rename()。
os.renames(old, new)
示例代码
import os
os.rename("..\\test_dir", "..\\test_dir1") # 创建目录上一级目录
print(os.path.isdir("..\\test_dir")) # False
print(os.path.isdir("..\\test_dir1")) # True
os.renames("test_dirs\\test_dir", "test_dirs\\test_dir1") # 递归创建目录
print(os.path.isdir("test_dirs\\test_dir")) # False
print(os.path.isdir("test_dirs\\test_dir1")) # True
os.renames("Y:/02test/Python/02 进阶部分", "Y:/02test/Python/02进阶部分")
print(os.path.isdir("Y:/02test/Python/02 进阶部分")) # False
print(os.path.isdir("Y:/02test/Python/02进阶部分")) # True
获取目录
listdir()
方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。只支持在 Unix, Windows 下使用。path为需要列出的目录路径
os.listdir(path)
getcwd()
方法用于返回当前工作目录。
os.getcwd()
chdir()
方法用于改变当前工作目录到指定的路径。
os.chdir(path)
示例代码
import os
dir_list = os.listdir() # 获取当前文件的路径,返回一个列表
print(dir_list) # 返回很长很长的列表
getcwd = os.getcwd() # 获取当前的工作路径
print(getcwd) # Y:\02test\Python\01 基础部分
os.chdir("..") # 返回上级目录
getcwd = os.getcwd() # 获取当前的工作路径
print(getcwd) # Y:\02test\Python
遍历目录
walk()
方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。在Unix,Windows中有效。
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
示例代码
import os
list_result = os.walk(".", topdown=True, onerror=None, followlinks=False) # 获取当前目录 参数可写可不写
for root, dirs, files in list_result:
print(root)
print(dirs)
print(files)
文件操作
os.open()
方法用于打开一个文件,并且设置需要的打开选项,模式参数mode参数是可选的,默认为 0777。
os.open(file, flags[, mode]);
os.write()
方法用于写入字符串到文件描述符 fd 中. 返回实际写入的字符串长度。
os.write(fd, str)
os.lseek()
方法用于设置文件描述符 fd 当前位置为 pos, how 方式修改。
os.lseek(fd, pos, how)
os.read()
方法用于从文件描述符 fd 中读取最多 n 个字节,返回包含读取字节的字符串,文件描述符 fd对应文件已达到结尾, 返回一个空字符串。在Unix,Windows中有效
os.read(fd,n)
os.fsync()
方法强制将文件描述符为fd的文件写入硬盘。Unix、Windows上可用。
os.fsync(fd)
os.close()
方法用于关闭指定的文件描述符 fd。
os.close(fd)
示例代码
"""
-*- coding:uft-8 -*-
author: 小甜
time:2020/5/26
"""
import os
file = os.open("text.txt", os.O_CREAT | os.O_RDWR) # 打开文件
os.write(file, b"This is test") # 写入内容
os.fsync(file) # 将字符串刷新到硬盘上
os.lseek(file, 0, 0) # 将指针置为0
text = os.read(file, 100) # 读取文件
print(text) # b'This is test'
os.close(file) # 关闭文件
大家好,从今天起早起Python将持续更新由小甜同学从初学者的角度学习Python的笔记,其特点就是全文大多由新手易理解的代码与注释及动态演示。刚入门的读者千万不要错过!
为了配合Python办公自动化系列文章,本文带来的是偷学Python第二十七天:Python内置OS模块的详细用法,其他内容将在近期更新完毕,本文目录如下
目录操作
创建目录
mkdir()
方法用于以数字权限模式当前目录下创建目录。默认的模式为 0777 (八进制),语法格式如下
os.mkdir(path[, mode])
path – 要创建的目录
mode – 要为目录设置的权限数字模式
makedirs()
方法用于递归创建目录。可以创建多个目录,其中exist_ok为False,表示目录存在抛出异常。语法格式如下
os.makedirs(path, mode=0o777)
path – 需要递归创建的目录。
mode – 权限模式。
示例代码
import os
os.mkdir("..\\test_dir") # 创建目录上一级目录
# 判断是否创建成功
print(os.path.isdir("..\\test_dir")) # True
os.makedirs("test_dirs\\test_dir") # 递归创建目录
print(os.path.isdir("test_dirs\\test_dir")) # True
os.makedirs("Y:/02test/Python/02 进阶部分")
print(os.path.isdir("Y:/02test/Python/02 进阶部分")) # True
删除目录
rmdir()
方法用于删除指定路径的目录。仅当这文件夹是空的才可以, 否则, 抛出OSError。语法格式如下
os.rmdir(path)
path – 要删除的目录路径
removedirs()
方法用于递归删除目录。注意如果目录不为空,会抛出OSError:[Errno 66] Directory not empty.语法格式为
os.removedirs(path)
示例代码
import os
os.rmdir("..\\test_dir") # 删除目录
# 判断是否删除成功
print(os.path.isdir("..\\test_dir")) # False 目录不存在表示以删除
os.removedirs("test_dirs\\test_dir") # 递归删除目录
print(os.path.isdir("test_dirs\\test_dir")) # False
os.removedirs("Y:/02test/Python/02 进阶部分")
print(os.path.isdir("Y:/02test/Python/02 进阶部分")) # False
重命名目录
rename()
方法用于命名文件或目录,从 src 到 dst,如果dst是一个存在的目录, 将抛出OSError。
os.rename(src, dst)
src – 要修改的目录名
dst – 修改后的目录名
renames()
方法用于递归重命名目录或文件。类似rename()。
os.renames(old, new)
示例代码
import os
os.rename("..\\test_dir", "..\\test_dir1") # 创建目录上一级目录
print(os.path.isdir("..\\test_dir")) # False
print(os.path.isdir("..\\test_dir1")) # True
os.renames("test_dirs\\test_dir", "test_dirs\\test_dir1") # 递归创建目录
print(os.path.isdir("test_dirs\\test_dir")) # False
print(os.path.isdir("test_dirs\\test_dir1")) # True
os.renames("Y:/02test/Python/02 进阶部分", "Y:/02test/Python/02进阶部分")
print(os.path.isdir("Y:/02test/Python/02 进阶部分")) # False
print(os.path.isdir("Y:/02test/Python/02进阶部分")) # True
获取目录
listdir()
方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。只支持在 Unix, Windows 下使用。path为需要列出的目录路径
os.listdir(path)
getcwd()
方法用于返回当前工作目录。
os.getcwd()
chdir()
方法用于改变当前工作目录到指定的路径。
os.chdir(path)
示例代码
import os
dir_list = os.listdir() # 获取当前文件的路径,返回一个列表
print(dir_list) # 返回很长很长的列表
getcwd = os.getcwd() # 获取当前的工作路径
print(getcwd) # Y:\02test\Python\01 基础部分
os.chdir("..") # 返回上级目录
getcwd = os.getcwd() # 获取当前的工作路径
print(getcwd) # Y:\02test\Python
遍历目录
walk()
方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。在Unix,Windows中有效。
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
示例代码
import os
list_result = os.walk(".", topdown=True, onerror=None, followlinks=False) # 获取当前目录 参数可写可不写
for root, dirs, files in list_result:
print(root)
print(dirs)
print(files)
文件操作
os.open()
方法用于打开一个文件,并且设置需要的打开选项,模式参数mode参数是可选的,默认为 0777。
os.open(file, flags[, mode]);
os.write()
方法用于写入字符串到文件描述符 fd 中. 返回实际写入的字符串长度。
os.write(fd, str)
os.lseek()
方法用于设置文件描述符 fd 当前位置为 pos, how 方式修改。
os.lseek(fd, pos, how)
os.read()
方法用于从文件描述符 fd 中读取最多 n 个字节,返回包含读取字节的字符串,文件描述符 fd对应文件已达到结尾, 返回一个空字符串。在Unix,Windows中有效
os.read(fd,n)
os.fsync()
方法强制将文件描述符为fd的文件写入硬盘。Unix、Windows上可用。
os.fsync(fd)
os.close()
方法用于关闭指定的文件描述符 fd。
os.close(fd)
示例代码
"""
-*- coding:uft-8 -*-
author: 小甜
time:2020/5/26
"""
import os
file = os.open("text.txt", os.O_CREAT | os.O_RDWR) # 打开文件
os.write(file, b"This is test") # 写入内容
os.fsync(file) # 将字符串刷新到硬盘上
os.lseek(file, 0, 0) # 将指针置为0
text = os.read(file, 100) # 读取文件
print(text) # b'This is test'
os.close(file) # 关闭文件
Python内置OS模块用法详解的更多相关文章
- Python 内置os模块的简单实用
获取路径&目录添加文件 在自动化测试的过程,考虑到工程文件的移动或者在其他人的工作环境中运行,所以我们的路径要灵活,不能把路径写死. 推荐使用Python的内置模块OS 参照图 import ...
- Python内置函数reversed()用法分析
Python内置函数reversed()用法分析 这篇文章主要介绍了Python内置函数reversed()用法,结合实例形式分析了reversed()函数的功能及针对序列元素相关操作技巧与使用注意事 ...
- day05 模块以及内置常用模块用法
内置常用模块详解: 1 time 2 datetime 3 random 4 os 5 sys 6 shutil 7 shelve 8 xml 9 configparser 10 hashlib ...
- Python内置标准模块
time 模块 1 >>> import time 2 >>> time.time() 3 1491064723.808669 4 >>> # t ...
- selenium模块用法详解
selenium用法详解 selenium主要是用来做自动化测试,支持多种浏览器,爬虫中主要用来解决JavaScript渲染问题. 模拟浏览器进行网页加载,当requests,urllib无法正常获取 ...
- python内置re模块全面实战
目录 一:取消转义 二:python内置模块之re模块 三:常用方法 findall search match 简便 四:常用方法 finditer 匹配文件多情况 五:切割 替换 内置模块 六:分组 ...
- python os模块方法详解
os.access() 方法使用当前的uid/gid尝试访问路径.大部分操作使用有效的 uid/gid, 因此运行环境可以在 suid/sgid 环境尝试. 实例: os.chdir() 方法用于改变 ...
- python的内置模块之os模块方法详解以及使用
1.getcwd() 获取当前工作路径 import os print(os.getcwd()) C:\python35\python3.exe D:/pyproject/day21模块/os模块.p ...
- Python中匿名函数与内置高阶函数详解
大家好,从今天起早起Python将持续更新由小甜同学从 初学者的角度 学习Python的笔记,其特点就是全文大多由 新手易理解 的 代码与注释及动态演示 .刚入门的读者千万不要错过! 很多人学习pyt ...
随机推荐
- shell专题(十):Shell工具(重点)
10.1 cut cut的工作就是“剪”,具体的说就是在文件中负责剪切数据用的.cut 命令从文件的每一行剪切字节.字符和字段并将这些字节.字符和字段输出. 1.基本用法 cut [选项参数] fi ...
- CMDB04 /流程梳理、cmdb总结
CMDB04 /流程梳理.cmdb总结 目录 CMDB04 /流程梳理.cmdb总结 1. 流程梳理 1.1 环境 1.2 远程连接服务器 1.3 向服务器上传文件 1.4 运维管理服务器 2. cm ...
- Django 【基础篇】
前戏 python Web程序 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/env python #cod ...
- CRM【第二篇】: stark组件
介绍: stark组件,是一个帮助开发者快速实现数据库表的增删改查+的组件.目标: 10s 中完成一张表的增删改查. 前戏: django项目启动时,自定义执行某个py文件. django启动时,且在 ...
- 改造 layui 表格组件实现多重排序
layui 的表格组件目前只支持单列排序,在实际应用中并不能很好的支撑我们的业务需求.今天一时手痒,决定改造一番以支持多重排序. 实现思路也比较简单,只需要用一个数组来存放所有排序的列,再把这个数组传 ...
- web自动化测试实战之批量执行测试用例
01实战之分离测试固件 在UI 自动化测试中,不管编写哪个模块的测试用例,都需要首先在测试类中编写测试固件初始化WebDriver类及打开浏览器,执行登录,才能进行下一步业务逻辑的操作,测试用例执行完 ...
- 47 张图带你 MySQL 进阶!!!
我们在 MySQL 入门篇主要介绍了基本的 SQL 命令.数据类型和函数,在局部以上知识后,你就可以进行 MySQL 的开发工作了,但是如果要成为一个合格的开发人员,你还要具备一些更高级的技能,下面我 ...
- “Python的单例模式有四种写法,你知道么?”——孔乙己
什么是单例模式 单例模式(Singleton Pattern)是最简单的设计模式之一.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 这种模式涉及到一个单一的类,该类负责创建自己的 ...
- windows 下部署 .netcore 到 iis
园子里已经有许多 ASP.NET Core 部署的相关文章,不同环境有不同的配置方法,建议同鞋们在动手之前也看看官方说明,做到心中有数.我在实践的时候用的是 win8.1 + .net core 3 ...
- 443端口被占用无法启动解决办法(如何查找进程ID)
摘自CSDN博客,原文地址:http://blog.csdn.net/pet8766/article/details/8186955 netstat -ano|findstr "443&qu ...