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命令