os 是 operating system 的缩写
1.0 模块的导入
import os
from os import path
1.1 模块的导入
import os导入模块, 而不使用from os import * 。这将避免内建的 open() 函数被 os.open() 隐式替换掉,因为它们的使用方式大不相同。
1.2 操作
os.getcwd()
获取当前工作路径os.chdir()
切换工作路径os.mkdir()
在当前工作目录下创建一个新的文件价夹,不能创建多级的文件夹os.makedirs()
创建多级目录os.rmdir()
删除空文件夹,os.removedirs()
递归删除目录,从后往前递归删除。os.remove()
删除文件,而不是文件夹os.listdir()
将当前路径下所有的目录及文件 生成一个列表,当然也可以指定路径。os.chdir("路径名称")
改变当前的工作路径os.walk("某个文件夹")
作用在于遍历目录树,返回列表,深度优先遍历,它可以返回三个东西,此时的路径、当前目录中的文件夹、当前目录下的文件。常常和for 循环联系起来。
for dirs,dirlist,filelist in os.walk("d:/code/c_plus"):
print(dirs)
print(dirlist)
print(filelist)
print("--------")
os.rename("adress(文件地址)","adress(文件地址2)")
修改文件名称,也能更改文件地址。
os.rename("../../attachments/text.txt","../../attachments/test.txt")
文件位置不动,简单的改一下名字
os.rename("../../attachments/text.txt","test.txt")
文件位置修改成当前文件夹,同时修改名称。os.stat("path")
获取文件信息,但是文件信息是很多的,开始时间、最后一次修改、大小等 常常和time模块搭配python time 模块def date_format(longtime): s = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(longtime)) return s info = os.stat("../../attachments/test.txt") print(type(info)) print(info) print("最近访问时间",date_format(info.st_atime)) print("创建时间",date_format(info.st_ctime)) print("修改时间",date_format(info.st_mtime)) print("文件大小",info.st_size)
os.startfile("path")
启动路径下的文件,注意:windows 磁盘目录的写法是c:\user\yangzuhao
, 编译器很肯能认为里面有着转义字符,所以写文件路径该这样写c:\\user\\yangzuhao
其实python 中也可以这样r"c:\user\yangzuhao"
前面加r, 让所有的转义字符失效.
1.3 os.path 即os模块的子模块
abspath(path)
获取目录或文件的绝对路径,所以不一定是文件.exits(path)
判断文件是否存在join(path,name)
将目录与目录名或文件名进行拼接,类似于字符串的“+”操作。print("拼接路径",path.join("D:\\code\\code_for_python\\module_os","day2.txt"))
splitext()
分别获取文件名 和 后缀名print(path.splitext("day2.txt"))
splitext
分割文件名和文件后缀名, 结果是元组basename()
提起文件名os.path.basename(r"D:\code\code_for_python\module_os\day2.txt")
day2.txtdirname()
提取文件所在路径dirname(r"D:\code\code_for_python\module_os\day2.txt")
结果D:\code\code_for_python\module_os
isdir(path)
判断者路径是否存在isfile(path)
判断路径是否有效文件