os模块提供一种使用与操作系统相关的功能的便捷式途径。

一定要使用 import os 而不是 from os import * 。这将避免内建的 open() 函数被 os.open() 隐式替换掉,它们的使用方式大不相同。

推荐阅读官方文档如下:


系统操作

os.name       #导入的依赖特定操作系统的模块的名称。以下名称目前已注册: 'posix', 'nt', 'java'.分别表示 linux/Unix , widows ,Java
os.getenv('环境变量的名称例PATH') #读取环境变量
os.getenv('PATH') #示例获取$PATH环境变量
os.getcwd() #获取当前路径
------------------------------------
os.uname() #返回当前操作系统的识别信息。返回值是一个有5个属性的对象: sysname - 操作系统名
nodename - 机器在网络上的名称(需要先设定)
release - 操作系统发行信息
version - 操作系统版本信息
machine - 硬件标识符
# sys.platform 有更详细的描述. os.uname() 只给出系统提供的版本信息,platform 模块对系统的标识有更详细的检查。
---------------------------------------
...

文件及路径操作

os.getcwd()       #获取当前工作路径
os.chdir('PATh') #更换当前工作目录
os.makedirs('1/2/3') #创建递归目录
os.removedirs('1/2/3') #删除多层递归的空目录,不为空无法删除
os.mkdir('1') #创建新目录
os.rmdir('1') #删除单级目录为空的文件夹
os.listdir('path') #返回指定文件夹'path'下面所有文件和文件夹,包括隐藏文件,以列表的形式返回,即可迭代
os.remove('PATH') #删除指定文件
os.rename('1','2') #修改文件夹或文件名字
os.stat('PATH') #查看文件详细信息
------------------------------------
print(os.stat("gouguoqinew/testnew"))
........................................................................
os.stat_result(st_mode=33206, st_ino=15085150720, st_dev=75373296, st_nlink=1, st_uid=0, st_gid=0, st_size=28, st_atime=1528473600, st_mtime=1528552906, st_ctime=1528552713)
st_mode: inode 保护模式
st_ino: inode 节点号
st_dev: inode 驻留的设备
st_nlink: inode 的链接数
st_uid: 所有者的用户ID
st_gid: 所有者的组ID
st_size: 普通文件以字节为单位的大小;包含等待某些特殊文件的数据
st_atime=1528473600 用户上一次的访问时间 (以时间戳的形式表示)
st_mtime=1528552906 用户上一次修改的时间(常用)
st_ctime=1528552713 用户的创建文件的时间

os.path

os.path.exists(path)       #判断路径是否存在,存在为True,不存在为False
os.path.isfile(path) #判断一个文件是否存在,存在为True,否则为False
os.path.isdir(path) #判断一个目录是否存在,存在为True,否则为False
os.path.getsize(path) #返回文件大小,如果path是目录则返回0
os.path.basename(path) #返回文件名
os.path.dirname(path) #返回路径
os.path.abspath(path) #返回绝对路径
os.path.join(path,name) #路径拼接(重要常用)

运行shell命令

os.system("cd /home && ls")   #运行shell命令

最新文章

  1. 分享一个LiteDB做的简单考试系统辅助工具
  2. 常用的WEB服务
  3. Android权限(转)
  4. linux文件描述符数量的坑
  5. sql like 时间
  6. App Store上下载和安装Xcode
  7. Codeforces Round #326 (Div. 2) A. Duff and Meat 水题
  8. USB枚举详细过程剖析(转)
  9. Sikuli:创新的图形化编程技术
  10. Iterator(es6)
  11. Leetcode题解(十四)
  12. ZOJ 3557 & BZOJ 2982 combination[Lucas定理]
  13. POJ 2185 Milking Grid [KMP]
  14. Google Python命名规范
  15. Java面试——线程池
  16. day25 面向对象之多态和鸭子类型
  17. UE4添加植被Foliage Type
  18. [翻译Joel On Software]选择一门语言/Choosing a language
  19. OTSU算法学习 OTSU公式证明
  20. [Jobdu] 题目1384:二维数组中的查找

热门文章

  1. Yaml spring boot 二维数组写法
  2. c#中io常用操作笔记
  3. .NET 云原生架构师训练营(模块二 基础巩固 MongoDB 问答系统)--学习笔记
  4. 轻量级 Kubernetes K3s - Github热点
  5. 风炫安全web安全学习第三十七节课 15种上传漏洞讲解(二)
  6. 2020周阳SpringCloud完整版笔记--一
  7. 2019 Eclipse的下载与安装教程
  8. 【Linux】linux rinetd 端口转发部署
  9. scp等不需要存入know_host
  10. 04--Docker数据卷和数据卷容器