os简单介绍

os 模块提供了非常丰富的方法用来处理文件和目录

os关于目录路径的方法

 # 获取当前路径
path = os.getcwd() # 获取当前绝对路径
os.path.abspath(path) # 创建一级目录
os.mkdir(path) # 删除空目录
os.rmdir(path) # 创建多级目录
os.makedirs(path) # 删除多级空目录
os.removedirs(path) # 修改路径为path
os.chdir(path)

包含知识点

  • rmdir的path,如果目录非空,则抛出一个OSError异常
  • 多级目录是指 /test/testing/test,如果三个目录都不存在则都会创建

os关于文件的方法

# 获取当前路径下所有文件、文件夹
os.listdir(path) # 创建文件方式一
f = os.open(path + "test.txt", flags=os.O_CREAT | os.O_RDWR ) # 写入文件
os.write(f, bytes("",encoding="utf-8")) # 读取文件
print(os.read(f,12)) # 关闭文件
os.close(f) # 重命名文件
os.rename(path + "test.txt", path + "tests.txt") # 删除文件
os.remove(path + "tests.txt")
# 递归返回path下的目录(包括path目录)、子目录、文件名的三元组
for root, dirname, filenames in os.walk(path):
logzeros.debug(root)
logzeros.debug(dirname)
logzeros.debug(filenames)

包含知识点

listdir 返回的是一个列表,若没有文件则返回空列表

os.write(fd, str) 用于写入bytes字符串到文件描述符 fd 中. 返回实际写入的字符串长度

os.read(fd,n) 用于从文件描述符 fd 中读取最多 n 个字节,返回包含bytes字符串

关于 open() 可看此博客:https://www.cnblogs.com/poloyy/p/12350158.html

关于 os.walk(path) 可看此博客:https://www.cnblogs.com/poloyy/p/12349230.html

os.path相关

os.path.realpath(__file__)

获取当前文件所在目录

path = os.path.realpath(__file__)
print(path)

运行结果

C:\Users\user\Desktop\py\moocInterface\learn\os_path_learn.py

os.path.abspath(path)

获取当前path所在路径

path = os.path.abspath(".")
print(path) path = os.path.abspath(os.path.realpath(__file__))
print(path)

运行结果

C:\Users\user\Desktop\py\moocInterface\learn
C:\Users\user\Desktop\py\moocInterface\learn\os_path_learn.py

第一行代码跟 os.getcwd() 很像

path = os.getcwd()
print(path)

运行结果

C:\Users\user\Desktop\py\moocInterface\learn

os.path.dirname(path)

返回path的所在目录的路径

print(os.path.dirname(r'C:\Users\user\Desktop\py\moocInterface\learn\os_path_learn.py'))

print(os.path.dirname(r'C:\Users\user\Desktop\py\moocInterface\learn'))

# 表示获取当前文件所在目录的上一级目录,即项目所在目录C:\Users\user\Desktop\py\moocInterface
print(os.path.dirname(os.path.abspath('.')))

运行结果

C:\Users\user\Desktop\py\moocInterface\learn
C:\Users\user\Desktop\py\moocInterface
C:\Users\user\Desktop\py\moocInterface

os.path.split(path)

分离文件名和扩展名,返回(filename文件名,fileextension文件扩展名)二元组

# 目录
os.path.split(os.getcwd()) # 文件
os.path.split(os.path.realpath(__file__))

运行结果

('C:\\Users\\user\\Desktop\\py\\moocInterface', 'learn')
('C:\\Users\\user\\Desktop\\py\\moocInterface\\learn', 'os_path_learn.py')

os.path.join()

用于路径拼接,将多个路径组合后返回,第一个绝对路径之前的参数将被忽略

# 拼接目录
new_path = os.path.join(os.getcwd(), "test")
print(new_path) # 拼接文件
new_path = os.path.join(os.getcwd(), "test.txt")
print(new_path) # 拼接多重目录
new_path = os.path.join(os.getcwd(), "test/test/test")
print(new_path) # 拼接多个目录、文件
new_path = os.path.join(os.getcwd(), "test", "Test", "ok.txt")
print(new_path)

运行结果

C:\Users\user\Desktop\py\moocInterface\learn\test
C:\Users\user\Desktop\py\moocInterface\learn\test.txt
C:\Users\user\Desktop\py\moocInterface\learn\test/test/test
C:\Users\user\Desktop\py\moocInterface\learn\test\Test\ok.txt
 

Python常用库 - os库的更多相关文章

  1. Python常用的标准库以及第三方库

    Python常用的标准库以及第三方库有哪些?   20个必不可少的Python库也是基本的第三方库 读者您好.今天我将介绍20个属于我常用工具的Python库,我相信你看完之后也会觉得离不开它们.他们 ...

  2. python学习笔记系列----(八)python常用的标准库

    终于学到了python手册的最后一部分:常用标准库.这部分内容主要就是介绍了一些基础的常用的基础库,可以大概了解下,在以后真正使用的时候也能想起来再拿出来用. 8.1 操作系统接口模块:OS OS模块 ...

  3. Python常用的标准库以及第三方库有哪些?

    20个必不可少的Python库也是基本的第三方库 读者您好.今天我将介绍20个属于我常用工具的Python库,我相信你看完之后也会觉得离不开它们.他们是: Requests.Kenneth Reitz ...

  4. Python 常用的标准库以及第三方库有哪些?

    作者:史豹链接:https://www.zhihu.com/question/20501628/answer/223340838来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  5. python 常用的标准库及第三方库

    标准库Python拥有一个强大的标准库.Python语言的核心只包含数字.字符串.列表.字典.文件等常见类型和函数,而由Python标准库提供了系统管理.网络通信.文本处理.数据库接口.图形系统.XM ...

  6. Python常用的标准库及第三方库

    标准库Python拥有一个强大的标准库.Python语言的核心只包含数字.字符串.列表.字典.文件等常见类型和函数,而由Python标准库提供了系统管理.网络通信.文本处理.数据库接口.图形系统.XM ...

  7. Python常用的第三方库

    最近学习python 做些数据挖掘相关的练习,涉及到很多第三方的库,所以做一总结. Setuptools 可以让程序员更方便的创建和发布 Python 包,特别是那些对其它包具有依赖性的状况. 我特别 ...

  8. 常用的os库笔记

    1.创建文件 import os os.mkdir('d:/log') 2.重命名文件 import os os.rename('d:/log','d:/newlog') 3.删除文件 import ...

  9. python 常用的一些库

    AllPairs 2.0.1Appium-Python-Client 0.24asn1crypto 0.24.0attrs 17.4.0AutoItLibrary 1.1bcrypt 3.1.4bea ...

随机推荐

  1. Python自带HTTP文件传输服务

    一行命令搭建一个基于python的http文件传输服务 由于今天朋友想要一个文件,而我恰好有,因为这个文件比较大,网速不是很给力,所以想到了python自己有这么一个功能,这样不仅不需要下载其他软件, ...

  2. 一道简单到爆 Java面试题,居然挂了一票人

    很多时候bug往往都是出在,我们觉得非常简单,不起眼的基础知识上 年前公司最后一波招人,为年后项目做技术储备,主要招聘对象初中级Java开发,要求也并没有多苛刻,唯一一点基础稍好,快速上手做项目就行. ...

  3. Docker学习(十)Docker容器编排 Docker-compose

    Docker学习(十)Docker容器编排 Docker-compose 标签(空格分隔): docker 容器编排是什么 应用一般由单独容器化的组件组成,须按照一定顺序在网络级别进行组织,以使其能够 ...

  4. asp.net生成店铺推广二维码,二维码中间加logo(源码)

    二维条码比一维条码记载数据量更多,二维码条码是一种高密度.高信息含量的便携式数据文件,是实现证件及卡片等大容量.高可靠性信息自动存储.携带并可用机器自动识读的理想手段.而且可以记载更复杂的数据,比如图 ...

  5. [bzoj3244] [洛谷P1232] [Noi2013] 树的计数

    Description 我们知道一棵有根树可以进行深度优先遍历(DFS)以及广度优先遍历(BFS)来生成这棵树的DFS序以及BFS序.两棵不同的树的DFS序有可能相同,并且它们的BFS序也有可能相同, ...

  6. [bzoj2668] [洛谷P3159] [cqoi2012] 交换棋子

    Description 有一个n行m列的黑白棋盘,你每次可以交换两个相邻格子(相邻是指有公共边或公共顶点)中的棋子,最终达到目标状态.要求第i行第j列的格子只能参与mi,j次交换. Input 第一行 ...

  7. python3 密码字典匹配wifi密码,有界面

    界面: 需要先安装一下pywifi模块 代码: # coding:utf-8 from tkinter import * from tkinter import ttk import pywifi f ...

  8. python 3 创建虚拟环境(Win10)

    python 3 创建虚拟环境(Win10) ①为什么要用虚拟环境? 为了解决一个环境多个项目的版本冲突问题 ②如何创建虚拟环境? 用窗口键+R来打开win10的运行窗口,然后在运行输入框输入cmd, ...

  9. zbar+opencv检测图片中的二维码或条形码

    zbar本身自带检测二维码条形码功能,这里使用opencv只是做一些简单的读取图片,灰度图片以及显示条形码和二维码时用到一些绘制 // barcode-qrcodescanner.cpp: 定义控制台 ...

  10. CSS-16-margin值重叠问题

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...