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. Unity3d游戏角色描边

    本文发布于游戏程序员刘宇的个人博客,欢迎转载,请注明来源https://www.cnblogs.com/xiaohutu/p/10834491.html 游戏里经常需要在角色上做描边,这里总结一下平时 ...

  2. 完美实现STM32单总线挂多个DS18B20

    一般常见的STM32的关于DS18B20的例程都是检测一个传感器,代码一般都是跳过ROM检测,直接获取温度值.这种写法并不适用于单总线上挂载多个DS18B20的情况,Sandeepin的这个代码就是针 ...

  3. 使用requests模块的网络编程

    python操作网络,也就是打开一个网站,或者请求一个http接口,本篇是介绍使用request模块的使用方式. 在使用requests模块之前需要先安装,在cmd中输入:pip install re ...

  4. Python3基础之数据类型(字符串和列表)

    1.Python字符串方法 1.1.如何在Python中使用字符串 a.使用单引号(') 用单引号括起来表示字符串,例如: str1="this is string"; print ...

  5. 工具之awk

    转自:http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html awk是一个强大的文本分析工具,相对于grep的查找,sed的编 ...

  6. postman的简单介绍及运用

    postman下载地址 https://www.getpostman.com/downloads/ postman的工作原理:发送请求给服务器,服务器处理postman发送的数据然后返回给postma ...

  7. spring源码系列博文总索引

    一 目录 准备 1 使用Gradle构建spring5源码的一些坑和步骤 IOC模块 1spring IOC接口设计分析 2 spring IOC容器实现类分析 3 spring IOC特定场景源码步 ...

  8. CORS解决跨域问题的几种方法

    一 后端服务器使用过滤器 新建过滤器: /** * 解决跨域 */ public class AccessControlAllowOriginFilter implements Filter { @O ...

  9. linux下oracle调试小知识

    1.oracle 安装下的/u01/diag/rdbms/orcl/HOF/incident目录下是什么文件?答:每当一个错误发生的时候,oracle会创建一个incident,并且分配一个INCID ...

  10. HDU_1222_GCD

    http://acm.hdu.edu.cn/showproblem.php?pid=1222 直接用GCD就可以了,gcd大于1表明每次一周后偏移量为0. #include<iostream&g ...