一、os模块

1、os.getcwd()

获取当前工作目录(当前工作目录默认都是当前文件所在的文件夹)

  import osprint(os.getcwd())

  

2、os.chdir(path)

改变当前工作目录,os.chdir()参数为路径

  
  import osprint(os.getcwd())print(os.chdir(r"d:\python\exercise\test_package\a"))print(os.getcwd())

  

输出结果

  D:\06python\exercise\test_packageNoned:\06python\exercise\test_package\a #可以看到工作的路径变了

  

3、os.curdir os.pardir

os.curdir 返回当前目录: ('.')os.pardir 获取当前目录的父目录字符串名:('..')

  import osprint(os.curdir)print(os.pardir)

  

输出结果

  
  ...

  

4、os.makedirs("dirname1/dirname2")

可生成多层递归目录

  
  import osos.makedirs(r"exercise\a\b\c")

  

输出结果

5、os.removedirs(”dirname1“)

递归删除文件夹 必须都是空目录,若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推

  
  import osos.removedirs(r"exercise\a\b\c")

  

输出结果

6、os.mkdir('dirname')

生成单级目录;相当于shell中mkdir dirname

  
  import osos.mkdir("a")

  

输出结果

7、os.rmdir('dirname')

删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname

  
  import osos.rmdir("a")# os.rmdir("b")

  

输出结果

8、os.listdir('dirname')

列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印

  
  import osprint(os.listdir("a"))

  

输出结果

9、os.remove()

删除一个文件

  
  import osos.remove("a/x.py")

  

输出结果

10、os.rename("oldname","newname")

重命名文件/目录

linux平台下用os.rename(),os.rename不能直接在Windows平台下用,windows平台下用os.replace(),

  
  import osos.rename("test.py","new_test.py")

  

输出结果

11、os.stat('path/filename')

获取文件/目录信息

  
  import osprint(os.stat("test.py"))

  

输出结果

  • st_mode: inode 保护模式

  • st_ino: inode 节点号。

  • st_dev: inode 驻留的设备。

  • st_nlink: inode 的链接数。

  • st_uid: 所有者的用户ID。

  • st_gid: 所有者的组ID。

  • st_size: 普通文件以字节为单位的大小;包含等待某些特殊文件的数据。

  • st_atime: 上次访问的时间。

  • st_mtime: 最后一次修改的时间。

  • st_ctime: 由操作系统报告的"ctime"。在某些系统上(如Unix)是最新的元数据更改的时间,在其它系统上(如Windows)是创建时间。

12、os.sep

输出操作系统特定的路径分隔符,win下为"\",Linux下为"/"

  
  import osprint(os.sep)

  

输出结果

13、os.linesep

输出当前平台使用的行终止符,win下为"\r\n",Linux下为"\n"

14、os.pathsep

输出用于分割文件路径的字符串 win下为;,Linux下为:

15、os.name

输出字符串指示当前使用平台。win->'nt'; Linux->'posix'

16、os.system("bash command") os.popen("bash command“)

os.system("bash command") 运行shell命令,直接显示

os.popen("bash command”) 运行shell命令,获取执行结果

17、os.environ

获取系统环境变量

18、os.path.abspath(path)

返回path规范化的绝对路径,包含文件名

  
  import osprint(os.path.abspath(__file__))

  

输出结果

19、os.path.split(path)

当path是文件的绝对路径时,将path分割成目录和文件名二元组返回

当path是一个文件目录的绝对路径时(类似“D:\06python\exercise\test_package”),os.path.split()将path分割成最后的一个文件夹为一部分,其他的前面为一部分

  
  import osprint(os.path.split(__file__))

  

输出结果

例子2

  
  import osprint(os.path.split(r"D:\06python\exercise\test_package"))

  

输出结果

20、os.path.dirname(path)

返回path的目录。其实就是os.path.split(path)的第一个元素。

参数path为文件时os.path.dirname()是获取文件的完整绝对路径中的目录部分(去掉文件名)

参数path为目录时os.path.dirname()获取完整路径当中的目录部分,获取上一级目录的绝对路径

os.path.dirname(os.path.dirname(path))是获取的返回该目录的上一级目录,即获取指定目录(os.path.dirname(path)的结果)的上一级目录的绝对路径

  import osprint(os.path.abspath(__file__))print(os.path.dirname(__file__))print(os.path.dirname(os.path.dirname(__file__)))

  

输出结果

分析:这里的输出结果后两个是斜杠,而第一个os.path.abspath输出的是win平台中常见的反斜杠,原因是pycharm做的优化

小实验

从这个结果可以看出,直接使用python解释器的结果仍然是反斜杠

同样的文件在pycharm中执行,pycharm中输出的就是斜杠

21、os.path.basename(path)

当参数path为文件的绝对路径时返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素。

当参数path是一个文件目录的绝对路径时(类似“D:\06python\exercise\test_package”),返回的是最后一个文件夹的名字

22、os.path.exists(path)

判断文件或者目录存不存在,如果path存在,返回True;如果path不存在,返回False

23、os.path.isabs(path)

如果path是绝对路径,返回True

  
  import osprint(os.path.isabs(r"D:\06python\exercise\test_package\test.py"))print(os.path.isabs(r".\test_package\test.py"))print(os.path.isabs(__file__))v =os.path.isabs(r"D:\06python\exercise\test_package")print(v)print(type(v))

  

输出结果

分析:这里即使是不存在的绝对路径也会返回True

24、os.path.isfile(path)

如果path是一个存在的文件,返回True。否则返回False

  
  import osprint(os.path.isfile(r"D:\06python\exercise\test_package\test.py"))print(os.path.isfile(r"D:\06python\exercise\test_package\t.py"))v =os.path.isfile(r"D:\06python\exercise\test_package")print(v)print(type(v))

  

输出结果

25、os.path.isdir(path)

如果path是一个存在的目录,则返回True。否则返回False

26、os.path.join(path1[, path2[, ...]])

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

  import osprint(os.path.join(r"D:\06python\exercise",r"test_package\test.py"))print(os.path.join(r"D:\06python\exercise",r"test_package\t.py"))  #不存在的路径也能合成print(os.path.join(r"D:\06python\exercise",r"/test_package\t.py"))"""如果第二个参数存在斜杠或者反斜杠,之前的参数会被忽略即第一个绝对路径之前的参数将被忽略"""print(os.path.join(r"D:\06python\exercise","test_package"))

  

输出结果

27、os.path.getatime(path)os.path.getmtime(path)

os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间

  
  import osprint(os.path.getatime(__file__)) # 返回path所指向的文件或者目录的最后存取时间print(os.path.getmtime(__file__)) # 返回path所指向的文件或者目录的最后修改时间print(os.path.getatime(r"D:\06python\exercise\test_package"))print(os.path.getmtime(r"D:\06python\exercise\test_package"))

  

输出结果

28、os.path.getsize(path)

返回path(文件或者目录下的所有文件)的大小

  
  import osprint(os.path.getsize(__file__))print(os.path.getsize(r"D:\06python\exercise\test_package"))

  

输出结果

转载于:https://www.cnblogs.com/Nicholas0707/p/9011854.html

Python之路(第十四篇)os模块相关推荐

  1. Python之路(第十六篇)xml模块、datetime模块

    一.xml模块 xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单, xml比较早,早期许多软件都是用xml,至今很多传统公司如金融行业的很多系统的接口还主要 ...

  2. Python之路(第三篇) 模块

    模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...

  3. Python之路【第四篇】:Python基础之函数

    函数的理解 面向过程:根据业务逻辑从上到下垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 函数作用是你的程序有良好的扩展性.复用性. 同样的功能要是用3次以上的话就建议使 ...

  4. python自动华 (十四)

    Python自动化 [第十四篇]:HTML介绍 本节内容: Html 概述 HTML文档 常用标签 2. CSS 概述 CSS选择器 CSS常用属性 1.HTML 1.1概述 HTML是英文Hyper ...

  5. Python之路【第十四篇】:AngularJS --暂无内容-待更新

    Python之路[第十四篇]:AngularJS --暂无内容-待更新 转载于:https://www.cnblogs.com/weiman3389/p/6224181.html

  6. python原创第十四篇~判断,循环实战训练+答案

    2017-12-07 09:23:55 December Thursday the 49 week, the 341 day #原创第十四篇~判断,循环实战训练 题目:一个整数,它加上100后是一个完 ...

  7. python学习[第十四篇] 文件的输入与输出

    python学习[第十四篇] 文件的输入与输出 标准文件类型 一般来说只要程序一执行,就会访问3个文件: 标准输入(键盘) stdin 标准输出(显示器缓冲区) stdout 默认输出到屏幕 标准错误 ...

  8. Python之路【第八篇】:堡垒机实例以及数据库操作

    Python之路[第八篇]:堡垒机实例以及数据库操作 堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient 用于 ...

  9. Python之路【第五篇】:面向对象及相关

    Python之路[第五篇]:面向对象及相关 Python之路[第五篇]:面向对象及相关 面向对象基础 基础内容介绍详见一下两篇博文: 面向对象初级篇 面向对象进阶篇 其他相关 一.isinstance ...

  10. CCNP-第十四篇-BGP综合实验

    CCNP-第十四篇-BGP综合实验 大家好呀,学了那么长时间的BGP,又是一个巨大分水岭,那怎么能没综合实验呢? 答案以及个人录制视屏(数字那个视频因为录制软件的问题看不到命令行可以直接看后面的,不喜 ...

最新文章

  1. Objective-c——UI基础开发第十二天(相册展示)
  2. Unity3D教程宝典之Web服务器篇:(第二讲)从服务器下载图片
  3. shell变量/环境变量和set/env/export用法_转
  4. 计算机中丢失dinput8,修复dnfdinput8.dll
  5. Typescript有什么冷门但是很好用的特性?
  6. Android Google Map –两点之间的绘图路线
  7. Java基础篇:构造函数
  8. 2018年3月30日
  9. unity怎么设置游戏页面_王者荣耀李小龙粤语语音包怎么得?李小龙粤语语音包获取与设置方法介绍[多图] - 游戏攻略...
  10. iOS:SideTable
  11. 程序基本编写方法python_python程序设计基本编写方法
  12. 外卖小程序邀请入口获取推广路径
  13. PHP阶段案例之Web表单生成器
  14. 解决markdown-it-prism未能正确加载Languages的BUG
  15. Mysql 修改字段默认值问题
  16. 章节十五:项目实操:PK小游戏(3)
  17. lqc_更新系统+弱口令扫描+nmap
  18. mysql通用mapper_通用mapper所有配置,超详细
  19. 手把手教你写一个串口调试助手
  20. MySQL中的悲观锁和乐观锁

热门文章

  1. php 二进制 保存文件,PHP打开一个二进制文件,修改了内容如何再保存回去呢?...
  2. html5调用静态库,浅谈C++ 动态库与静态库的调用
  3. java socket 简书_Java之Socket编程入门篇
  4. mysql 取字符串首字母_MySQL通过函数获取字符串汉字拼音首字母大写字符串
  5. go语言中文件的操作:
  6. html和css实现时间表,前端 CSS : 6# 纯 CSS 实现时间线
  7. 分三种情况C语言编程,吴进的256basic.h阅读笔记,请问scanline_copy子程序为什么要分三种情况考虑:(1)d...
  8. Linux的版本可分为,Linux不同分类标准下的各种版本解读
  9. 常用标准库_Python入门(五):常用标准库sys和os
  10. eclipse设置utf8编码_技术分享 | MySQL 8.0:字符集从 utf8 转换成 utf8mb4