大家好,从今天起早起Python将持续更新由小甜同学从初学者的角度学习Python的笔记,其特点就是全文大多由新手易理解的代码与注释及动态演示。刚入门的读者千万不要错过!
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:1097524789
为了配合Python办公自动化系列文章,本文带来的是偷学Python第二十七天:Python内置OS模块的详细用法,其他内容将在近期更新完毕,本文目录如下
目录操作
创建目录
mkdir()
方法用于以数字权限模式当前目录下创建目录。默认的模式为 0777 (八进制),语法格式如下
-
path – 要创建的目录
-
mode – 要为目录设置的权限数字模式
makedirs()
方法用于递归创建目录。可以创建多个目录,其中exist_ok为False,表示目录存在抛出异常。语法格式如下
-
path – 需要递归创建的目录。
-
mode – 权限模式。
示例代码
删除目录
rmdir()
方法用于删除指定路径的目录。仅当这文件夹是空的才可以, 否则, 抛出OSError。语法格式如下
path – 要删除的目录路径
removedirs()
方法用于递归删除目录。注意如果目录不为空,会抛出OSError:[Errno 66] Directory not empty.语法格式为
示例代码
重命名目录
rename()
方法用于命名文件或目录,从 src 到 dst,如果dst是一个存在的目录, 将抛出OSError。
src – 要修改的目录名
dst – 修改后的目录名
renames()
方法用于递归重命名目录或文件。类似rename()。
示例代码
获取目录
listdir()
方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。只支持在 Unix, Windows 下使用。path为需要列出的目录路径
getcwd()
方法用于返回当前工作目录。
chdir()
方法用于改变当前工作目录到指定的路径。
示例代码
遍历目录
walk()
方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。在Unix,Windows中有效。
示例代码
文件操作
os.open()
方法用于打开一个文件,并且设置需要的打开选项,模式参数mode参数是可选的,默认为 0777。
os.write()
方法用于写入字符串到文件描述符 fd 中. 返回实际写入的字符串长度。
os.lseek()
方法用于设置文件描述符 fd 当前位置为 pos, how 方式修改。
os.read()
方法用于从文件描述符 fd 中读取最多 n 个字节,返回包含读取字节的字符串,文件描述符 fd对应文件已达到结尾, 返回一个空字符串。在Unix,Windows中有效
os.fsync()
方法强制将文件描述符为fd的文件写入硬盘。Unix、Windows上可用。
os.close()
方法用于关闭指定的文件描述符 fd。
示例代码
大家好,从今天起早起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) # 关闭文件