目录
前言:
os模块函数
os.getcwd()
os.listdir(path)
os.walk(path)
os.mkdir(path)
os.makedirs(path)
os.system("calc.exe")
os.startfile("path")
os.path模块函数
os.path.exists(path)
os.path.sep()
os.path.getsize(path)
os.path.isfile(path)
os.path.isdir(path)
os.path.basename(path)
os.path.dirname(path)
os.path.split(path)
os.path.splitext()
os.path.join(path1,path2)
os模块是Python标准库中整理文件和目录最为常用的模块,该模块提供了非常丰富的方法用来处理文件和目录。本文将介绍os模块中一些常用的方法,包括os模块和os.path模块两部分。
首先模块导入:
import os
作用:获取当前文件绝对路径。
import os
x = os.getcwd()
print("os.getcwd()",x)
结果:
os.getcwd() C:\Users\Lenovo\Desktop
作用:传入路径之后,返回该路径下所有文件和目录组成的列表。
例子:
import os
path = os.getcwd()
y = os.listdir(path)
print("os.listdir():",y,sep="\n")
结果:
os.listdir():
['$RECYCLE.BIN', '01研究方向资料', '02其他文件和资料', '03Project', '04picture', '05Download', '06Mendeley paper', '07Microsoft', '114 mask机制_52studyit.com.mp4', 'FFOutput', 'import os.py', 'System Volume Information']
作用:传入任意一个path路径,遍历指定路径下的所有子文件夹,返回的是一个由路径、文件夹列表、文件列表组成的元组。
例子1:
import os
path = os.getcwd()
y = os.walk(path)
print("os.walk():",y,sep="\n")
结果:
例子2:
import os
path = os.getcwd()
y = os.walk(path)
# 元组拆包--就是将一个元组中的每个值,赋值给不同的变量;一般用遍历返回值
for path,dirs,files in y:
print("path",path)
print ("dirs",dirs)
print("files",files)
结果:(部分)
path E:\FFOutput
dirs []
files []
作用:传入一个path路径,创建单层文件夹。
举例:
import os
path1 = "E:\\04picture\\高清好图\\aa"
y = os.mkdir(path1)
print(y)
结果:
None
注:只能创建原先没有的文件夹,所以创建之前一般判断os.path.exists(path)该文件夹是否存在。
作用:传入一个path路径,生成一个递归的文件夹。
注:如果文件夹存在,就会报错。因此创建文件夹之前,一般使用os.path.exists(path)函数判断文件夹是否存在。
打开某一个程序文件,注:路径里面不能有中文,打开成功返回1
y = os.system("D:\portable.exe")
也是打开程序文件,和system的区别:
os.system()是主进程打开新的窗口,原窗口进入休眠状态,待新的窗口关闭,主进程再重新唤醒原窗口;
os.startfile()是主进程创建一个子进程去打新的窗口,主进程创建完成子进程后立即继续往下执行
作用:判断指定路径下的目录是否存在,存在True,不存在False。
作用:返回当前操作系统的路径分隔符。
作用:返回路径下文件的大小。(以字节为单位)
import os
path = r"E:\\04picture\\高清好图\\222.jpg"
y = os.path.getsize(path)
print(y)
结果:
21522
作用:传入一个完整的文件路径,判断它是否是文件。
作用:传入一个完整的文件路径,判断它是否是目录。
作用:传入一个完整的文件路径,只获取其文件名。
作用:传入一个完整的文件路径,只获取其绝对路径。
举例:
import os
path = r"E:\\04picture\\高清好图\\222.jpg"
y = os.path.dirname(path)
print(y)
结果:
E:\\04picture\\高清好图
作用:传入一个完整的path路径,将其拆分为绝对路径和文件名两部分。
例子:
import os
path = r"E:\\04picture\\高清好图\\222.jpg"
y = os.path.split(path)
print(y)
结果:
('E:\\\\04picture\\\\高清好图', '222.jpg')
作用:传入一个完整的path路径,文件拆分为:文件名和扩展名。
作用:传入两个path路径(第二个也可以是文件名),将该路径拼接起来,形成一个新的完整路径。
举例1:
import os
path1 = r"E:\\04picture\\高清好图"
path2 = "222.jpg"
y = os.path.join(path1, path2)
print(y)
结果:
E:\\04picture\\高清好图\222.jpg
举例2:
# 如果最后一个组件为空,则生成的路径以一个’/’分隔符结尾
import os
path1 = r"E:\\04picture\\高清好图"
path2 = ""
y = os.path.join(path1, path2)
print(y)
结果:
E:\\04picture\\高清好图\
举例3:
# 如果有一个组件是一个绝对路径,则在它之前的所有组件均会被舍弃
import os
path1 = "E:\04picture\高清好图\222.jpg"
path2 = "222.jpg"
y = os.path.join(path1, path2)
print(y)
结果:
E:picture\高清好图.jpg\222.jpg