Python内置OS模块用法详解

生命要继续

生命要继续

2020-06-30

作者:是甜甜呢

来源:早起Python

Python内置OS模块用法详解

大家好,今天带来的是Python内置OS模块的详细用法,本文目录如下

目录操作

创建目录

mkdir() 方法用于以数字权限模式当前目录下创建目录。默认的模式为 0777 (八进制),语法格式如下

os.mkdir(path[, mode])
  • path – 要创建的目录

  • mode – 要为目录设置的权限数字模式

    

makedirs() 方法用于递归创建目录。可以创建多个目录,其中exist_ok为False,表示目录存在抛出异常。语法格式如下

os.makedirs(path, mode=0o777)
  • path – 需要递归创建的目录。

  • mode – 权限模式。

示例代码

import osos.mkdir("..\\test_dir")  # 创建目录上一级目录# 判断是否创建成功print(os.path.isdir("..\\test_dir"))  # Trueos.makedirs("test_dirs\\test_dir")  # 递归创建目录print(os.path.isdir("test_dirs\\test_dir"))  # Trueos.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 osos.rmdir("..\\test_dir")  # 删除目录# 判断是否删除成功print(os.path.isdir("..\\test_dir"))  # False  目录不存在表示以删除os.removedirs("test_dirs\\test_dir")  # 递归删除目录print(os.path.isdir("test_dirs\\test_dir"))  # Falseos.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 osos.rename("..\\test_dir", "..\\test_dir1")  # 创建目录上一级目录print(os.path.isdir("..\\test_dir"))  # Falseprint(os.path.isdir("..\\test_dir1"))  # Trueos.renames("test_dirs\\test_dir", "test_dirs\\test_dir1")  # 递归创建目录print(os.path.isdir("test_dirs\\test_dir"))  # Falseprint(os.path.isdir("test_dirs\\test_dir1"))  # Trueos.renames("Y:/02test/Python/02 进阶部分", "Y:/02test/Python/02进阶部分")print(os.path.isdir("Y:/02test/Python/02 进阶部分"))  # Falseprint(os.path.isdir("Y:/02test/Python/02进阶部分"))  # True

获取目录

listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。只支持在 Unix, Windows 下使用。path为需要列出的目录路径

os.listdir(path)

getcwd() 方法用于返回当前工作目录。

os.getcwd()

chdir() 方法用于改变当前工作目录到指定的路径。

os.chdir(path)

示例代码

import osdir_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 oslist_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 osfile = 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)  # 将指针置为0text = os.read(file, 100)   # 读取文件print(text)  # b"This is test"os.close(file)  # 关闭文件

明日学习计划

Python的time时间模块和random随机数模块

甜甜有话说

今天又是收获满满的一天,加油~

猜您喜欢

精彩推荐

粤ICP备16095388号-1