os模块

mac2022-06-30  80

os模块

一、os模块

os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口,多用于文件处理。

作用 os模块: 与操作系统交互, 可以操控文件

import os

获取当前文件目录

获取当前文件目录(打印不包含文件本身只会打印目录) print(os.getcwd())

创建文件夹

# 创建一个文件夹(还可以实现创建文件如果不存在) os.mkdir('test')

删除文件夹

os.rmdir('test')

列出所有文件

# 列出当前文件所在目录中的所有文件(经常用到) res = os.listdir(r"G:\python学习\python基础\day017") print(res)

重命名

#对文件进行重命名 os.rename('user.py', 'test.py')

删除文件

os.remove('test.py')

__file__

# 只有pychamr才提供,python本身不支持 # 打印当前文件所在的目录,会包含文件本身 print('__file__:', __file__)

结果:

G:/python学习/python基础/day017/os模块.py

os.path.abspath()

# 1. 支持不同平台的文件路径会打印当前文件的目录包含文件(并且使用各个平台的文件表示路径)(windows,ios,andirod,linux,unix) # 2. 返回当前文件所在的目录包含本身文件(绝对路径) print(os.path.abspath(__file__))

结果:

G:\python学习\python基础\day017\os模块.py

os.path.dirname()# 打印当前文件所在的目录,不会包含所在的文件,但是路径只会适用当前系统 print(os.path.dirname(__file__))

os.path.abspath()和 os.path.dirname()一起连用很重要

# os.path.dirname会把最后一个目录或文件去除 print(os.path.dirname(os.path.abspath(__file__))) print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

结果:

G:\python学习\python基础\day017 G:\python学习\python基础

os.path.join拼接字符串

# 支持不同的平台(windows,ios,andirod,linux,unix),进行对路径拼接 res = os.path.join(r'G:/python学习/python基础/day017', 'test2.py')

结果:

G:/python学习/python基础/day017\test2.py

判断文件是否存在os.path.exists

# 判断文件是否存在,存在返回True,不存在返回False print(os.path.exists('test.py'))

判断文件是否是文件

# 判断文件是否为文件 print(os.path.isfile('test.py'))

判断是否是文件名

# 判断文件是否是文件夹 print(os.path.isdir('test.py'))

判断是否是文件夹

print(os.path.isdir('test.py'))

循环遍历问价

import os # g为迭代对象 g = os.walk(r"G:/python学习/python基础/day017") for i in g: print(i) 方法详解os.getcwd()获取当前工作目录,即当前python脚本工作的目录路径os.chdir("dirname")改变当前脚本工作目录;相当于shell下cdos.curdir返回当前目录: ('.')os.pardir获取当前目录的父目录字符串名:('..')os.makedirs('dirname1/dirname2')可生成多层递归目录os.removedirs('dirname1')若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推os.mkdir('dirname')生成单级目录;相当于shell中mkdir dirnameos.rmdir('dirname')删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirnameos.listdir('dirname')列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印os.remove()删除一个文件os.rename("oldname","newname")重命名文件/目录os.stat('path/filename')获取文件/目录信息os.sep输出操作系统特定的路径分隔符,win下为"",Linux下为"/"os.linesep输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"os.pathsep输出用于分割文件路径的字符串 win下为;,Linux下为:os.name输出字符串指示当前使用平台。win->'nt'; Linux->'posix'os.system("bash command")运行shell命令,直接显示os.environ获取系统环境变量os.path.abspath(path)返回path规范化的绝对路径os.path.split(path)将path分割成目录和文件名二元组返回os.path.dirname(path)返回path的目录。其实就是os.path.split(path)的第一个元素os.path.basename(path)返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素os.path.exists(path)如果path存在,返回True;如果path不存在,返回Falseos.path.isabs(path)如果path是绝对路径,返回Trueos.path.isfile(path)如果path是一个存在的文件,返回True。否则返回Falseos.path.isdir(path)如果path是一个存在的目录,则返回True。否则返回Falseos.path.join(path1[, path2[, ...]])将多个路径组合后返回,第一个绝对路径之前的参数将被忽略os.path.getatime(path)返回path所指向的文件或者目录的最后存取时间os.path.getmtime(path)返回path所指向的文件或者目录的最后修改时间

os.path.getsize(path) 返回path的大小

转载于:https://www.cnblogs.com/dadazunzhe/p/11403993.html

最新回复(0)