os:operating system
包括系统和目录的操作函数,可以让python访问操作系统。
os模块包括子模块path,主要用于获取文件的属性。
因为os和os.path模块包含函数及属性较多,本文仅列举部分,直接通过举例介绍函数功能。
常用函数
下文分为查找、创建、删除、修改和os.path五个部分,分别包括不同类型功能的函数。
查找
包括对系统、目录或文件的查找操作和属性。
import os
os.getcwd()
#获得当前工作路径
#例如:'/root/python workspace'
#笔者使用Linux系统
os.getcwdb()
#返回当前工作路径的Unicode对象
b'/root/python workspace'
import os
os.name
#返回操作系统,若是Windows,则输出'nt';若是Linux,则输出'posix'
#注意这不算是函数,是属性,因此结尾没有括号
import os
os.sep
#Windows系统输出:'\\';Linux系统输出:'/'
import os
os.listdir('/root/python workspace')
#输出:['Untitled1.ipynb','.ipynb_checkpoints',
# 'tmp.pk','Untitled.ipynb']
#返回列表,包括输入路径内的文件、文件夹的名字。
创建
import os
os.mkdir('/root/python workspace/test')
#在目录 /root/python workspace 下创建一个名为test的文件夹
注意:若创建、删除等操作是在当前工作路径下,则输入可以直接输入文件或文件夹名称,不必包括路径。如上文可以直接输入’test‘。
删除
import os
os.rmdir('test')
#删除当前工作目录下名为test的空文件夹
#注意:删除对象必须是空的文件夹
import os
os.remove('/root/new/tmp.pk')
#删除路径为'/root/new/’下的tmp.pk文件
#注意:删除对象必须是一个存在的文件
修改
import os
os.rename('test','test1')
#将当前路径下名为test的文件或文件夹改名为test1
import os
os.chdir('/root')
#修改当前工作路径
os.getcwd()
#输出:'/root'
os.path
os.path模块可以获取文件属性信息。
import os
file='/root/python workspace/test'
因为该模块函数较多,因此列表展示其部分功能。举例输入文件如上,file包括一个文件夹的路径,输出见下表第三列。
方法 | 说明 | 输出举例 |
---|---|---|
os.path.abspath(file) | 返回绝对路径 | ‘/root/python workspace/test’ |
os.path.basename(file) | 返回文件名 | ‘test’ |
os.path.dirname(file) | 返回文件路径 | ‘/root/python workspace’ |
os.path.exists(file) | 判断是否存在该路径 | True |
os.path.getatime(file) | 返回最近访问时间(秒) | 1581350083.6365876 |
s.path.getctime(file) | 返回文件创建时间 | 1581350083.6365876 |
os.path.getmtime(file) | 返回最近文件修改时间 | 1581350083.6365876 |
os.path.getsize(file) | 返回文件大小(字节) | 4096 |
os.path.isabs(file) | 判断是否为绝对路径 | True |
os.path.isfile(file) | 判断路径是否为文件 | False |
os.path.isdir(file) | 判断路径是否为目录 | True |
os.path.islink(file) | 判断路径是否为链接 | False |
os.path.normcase(file) | 转换输入路径的大小写和斜杠 | ‘/root/python workspace/test’ |
os.path.normpath(file) | 规范输入字符串形式 | ‘/root/python workspace/test’ |
os.path.split(file) | 把路径分割成目录和文件名 | (’/root/python workspace’, ‘test’) |
除了上述方法外,os.path还包括连接文件名、判断是否相同文件及目录等方法。