os就是“operating system”的缩写,顾名思义,os模块提供的就是各种 Python 程序与操作系统进行交互的接口。通过使用os模块,一方面可以方便地与操作系统进行交互,另一方面页可以极大增强代码的可移植性。
os.name
import os
dlj = os.name
print(dlj)
os.getcwd()
dlj = os.getcwd()
print(dlj)
os.listdir(path)
import os
path = './data' # 自己随便指定一个路径
dlj = os.listdir(path)
print(dlj)
os.mkdir(path)
import os
path = './wzh'
os.mkdir(path) # 在工程路径下会生成一个文件夹,名称为wzh
os.makedirs(path)
os.mkdir(path)
比较)import os
path = './wzh/aaa'
os.makedirs(path) # 在工程路径下会生成wzh文件夹,再在wzh文件夹下生成aaa文件夹。如果最后一级目录存在则报错。
os.rmdir(path)
import os
path = './wzh/aaa'
os.makedirs(path)
os.rmdir('./wzh/aaa') # 删除wzh文件夹下的aaa文件夹,wzh文件夹未删除。
os.removedirs(path)
import os
path = './aaa/bbb/ccc'
os.makedirs(path) # 递归创建目录
os.removedirs(path) # 递归删除目录
os.remove(path)
os.rmdir(path)
不同,os.rmdir(path)
是删除指定空文件夹,而os.remove(path)
是删除指定文件)import os
os.remove('./1.txt') # 删除指定文件 这里删除.txt文件(文件是带有.后缀的)
os.sep
import os
path = './dlj' + os.sep + 'wzh'
print(path) # ./dlj\wzh 其中 os.sep 代替路径分割符
os.makedirs(path) # 递归生成指定路径
os.linesep
\r\n
.import os
path1 = '/dlj\r\nwzh'
path2 = '/dlj' + os.linesep + 'wzh' # os.linesep 代表转移字符 \r\n
print(path1)
print(path2)
if path1 == path2:
print('ok')
os.rename(path1,path2)
import os
path1 = './0001.jpg' # 已经存在的文件
path2 = './aaa.jpg' #更改后的文件名!!!(文件名后缀要一致)
os.rename(path1, path2) # 把 path1文件 更改为 path2文件 path1文件就不存在了
os.curdir
os.pardir
os.path.abspath()
import os
print(os.curdir) # 返回'.'以表示当前路径
print(os.pardir) # 返回'..'以表示当前路径的父目录
# 这两个函数需要结合 os.path.abspath使用
aaa = os.path.abspath(os.curdir)
bbb = os.path.abspath(os.pardir)
print(aaa)
print(bbb)
os.chdir(path)
import os
path = 'D:/software/anaconda3/envs/torch1.2'
print(os.getcwd()) # 返回当前脚本工作路径
os.chdir(path) # 改变当前脚本工作路径
print(os.getcwd())
os.stat(path)
os.environ
os.walk(path)
import os
path = './result'
for root, dirs, files in os.walk(path):
for item in dirs:
print(os.path.join(root, item))
for item in files:
print(os.path.join(root, item))
os.path模块的功能我们都可以自己使用字符串操作手动实现,该模块的作用是让我们在实现相同功能的时候不必考虑具体的系统,尤其是不需要过多关注文件系统分隔符的问题。是使用非常频繁的一个模块。
os.path.abspath(path)
os.pardir
等用法。os.path.join(path1,path2,...)
import os
dlj = os.path.join('./dlj', 'aaa', 'bbb')
print(dlj)
os.path.getatime(path)
os.path.getmtime(path)
os.path.getctime(path)
import os
path = './dlj6.py'
x = os.path.getatime(path) # 返回path所指向的文件或者目录的最后访问时间
y = os.path.getctime(path) # 返回path所指向的文件或者目录的创建时间
z = os.path.getmtime(path) # 返回path所指向的文件或者目录的最后修改时间
print(x)
print(y)
print(z)
os.path.basename(path)
import os
path = './input/detection-results'
print(os.path.basename(path))
os.path.dirname(path)
import os
path = ',/input/detection-results/onecode_0a1d5cfbeb04312b01c634e534b78803.txt'
print(os.path.dirname(path))
os.path.exists(path)
os.path.getsize(path)
os.path.isabs(path)
import os
path = ',/input/detection-results/onecode_0a1d5cfbeb04312b01c634e534b78803.txt'
print(os.path.isabs(path))
path1 = os.getcwd()
path2 = os.path.join(path1, path)
print(os.path.isabs(path2))
os.path.isdir(path)
os.path.isfile(path)
os.path.islink(path)
os.path.samefile(path)
os.path.split(path)
import os
path = ',/input/detection-results/onecode_0a1d5cfbeb04312b01c634e534b78803.txt'
print(os.path.split(path))
os.path.splitext(path)
os.path。realpath(path)