大家好,从今天起早起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模块用法详解的更多相关文章

  1. Python 内置os模块的简单实用

    获取路径&目录添加文件 在自动化测试的过程,考虑到工程文件的移动或者在其他人的工作环境中运行,所以我们的路径要灵活,不能把路径写死. 推荐使用Python的内置模块OS 参照图 import ...

  2. Python内置函数reversed()用法分析

    Python内置函数reversed()用法分析 这篇文章主要介绍了Python内置函数reversed()用法,结合实例形式分析了reversed()函数的功能及针对序列元素相关操作技巧与使用注意事 ...

  3. day05 模块以及内置常用模块用法

    内置常用模块详解: 1 time 2 datetime 3 random   4 os 5 sys 6 shutil 7 shelve 8 xml 9 configparser 10 hashlib ...

  4. Python内置标准模块

    time 模块 1 >>> import time 2 >>> time.time() 3 1491064723.808669 4 >>> # t ...

  5. selenium模块用法详解

    selenium用法详解 selenium主要是用来做自动化测试,支持多种浏览器,爬虫中主要用来解决JavaScript渲染问题. 模拟浏览器进行网页加载,当requests,urllib无法正常获取 ...

  6. python内置re模块全面实战

    目录 一:取消转义 二:python内置模块之re模块 三:常用方法 findall search match 简便 四:常用方法 finditer 匹配文件多情况 五:切割 替换 内置模块 六:分组 ...

  7. python os模块方法详解

    os.access() 方法使用当前的uid/gid尝试访问路径.大部分操作使用有效的 uid/gid, 因此运行环境可以在 suid/sgid 环境尝试. 实例: os.chdir() 方法用于改变 ...

  8. python的内置模块之os模块方法详解以及使用

    1.getcwd() 获取当前工作路径 import os print(os.getcwd()) C:\python35\python3.exe D:/pyproject/day21模块/os模块.p ...

  9. Python中匿名函数与内置高阶函数详解

    大家好,从今天起早起Python将持续更新由小甜同学从 初学者的角度 学习Python的笔记,其特点就是全文大多由 新手易理解 的 代码与注释及动态演示 .刚入门的读者千万不要错过! 很多人学习pyt ...

随机推荐

  1. java 面向对象(四十):反射(四)反射应用一:创建运行时类的对象

    1.代码举例Class<Person> clazz = Person.class; Person obj = clazz.newInstance();System.out.println( ...

  2. day5:isinstance&代码块&分支&while循环

    1.判断类型 isinstance语法:用法一: isinstance(要判断的值,要判断的类型) 返回True 或者 False用法二: isinstance(要判断的值,(可能的类型1,可能的类型 ...

  3. bzoj3375[Usaco2004 Mar]Paranoid Cows 发疯的奶牛*

    bzoj3375[Usaco2004 Mar]Paranoid Cows 发疯的奶牛 题意: 依次给出n只奶牛的产奶时间段,求最大的k使得前k只奶牛不存在一个时间段被另一个时间段完全覆盖的情况.n≤1 ...

  4. 用Eclipse进行单元测试JUnit4

    (1)在项目中引入Jar包 (2)编写需要测试的类 public class Calculator {     private static int result=0; // 静态变量,用于存储运行结 ...

  5. python测试开发面试之深浅拷贝

    先来道题热热身 a = ('a', 'b','c') c = copy.copy(a) d = copy.deepcopy(a) if c == d: print("c和d的值相等" ...

  6. Facebook没有测试工程师,如何进行质量控制的?

    Facebook从04年的哈佛校园的学生项目在短短的7-8年的时间中快速增长为拥有10亿用户的世界上最大的社交网络,又一次见证了互联网创业成功的奇迹.同时它的产品研发流程也成为了众多互联网产品公司的追 ...

  7. 耐心看,1个Dubbo漏洞,35道必问面试题,Dubbo没什么可神秘的

    Dubbo漏洞 无意中在网上看到了这样的一条新闻,说是我们360监测发现了Dubbo官方发布的危险漏洞通告,而且尴尬的是,世界上受影响最大的居然是中国,有图有真相 我感觉这也从侧面证明了一件事情,就是 ...

  8. C++语法小记---智能指针

    智能指针 用于缓解内存泄露的问题 用于替代原生指针 军规:只能指向堆空间中的对象或变量 方法 在智能指针的析构函数中调用delete 重载"->"操作符,只能重载成成员函数, ...

  9. 最小割&网络流应用

    重要链接 基础部分链接 : 二分图 & 网络流初步 zzz大佬博客链接 : 网络流学习笔记 重点内容:最小割二元关系新解(lyd's ppt) 题目:网络流相关题目 lyd神犇课件链接 : 网 ...

  10. nmap加快扫描速度(转载)

    实测有效 nmap -sS -Pn -p 80 -n --open --min-hostgroup 1024 --min-parallelism 10 --host-timeout 30 -T4 -v ...