处理文件
os.makedirs("dir1/dir2"):
创建目录。
可创建多层递归目录。
import os
os.makedirs("a/b")
但是:如果当前路径中,已经有了要创建的目录的话,再执行上述代码会直接报错。
os.mkdir("dir3"):
创建一个单独的文件夹。
该函数不能递归创建文件夹。
import os
os.mkdir("d")
os.rmdir('dirname'):
删除单级空目录。
若目录不为空则无法删除,报错;相当于shell中rmdir dirname。
如果要删除的文件不存在,也会报错。
import os
os.rmdir("d")
os.removedirs('dirname1'):
若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推。
os.getcwd():
获取当前的工作目录。
注意:也是值当前执行python脚本的工作目录。
os.chdir("dirname"):
切换当前工作目录。
切换到传入的目录下。
os.listdir("dirname"):
列出指定目录下的所有目录和子文件。
os.remove("dirname"):
删除一个文件。
只能删文件,不能删文件夹。
os.rename("oldname","newname"):
给文件重命名。
********************************************************************************************************
os.stat("path/filename"):
获取文件或者目录的信息。
os.system("bash command"):
执行的是字符串数据类型的命令行代码。
通过Python代码,调用电脑上的系统接口,来运行cmd命令。并直接执行,没有返回值。
它适合做执行操作,不适合做查看。
os.popen("command"):
类似os.system("bash command")命令,执行操作系统命令。它有返回值,返回值是一个内存地址。
但是该函数适合做查看操作,获取到返回值可以通过read()命令获取数据。
注意:当前在哪个目录下执行这个文件,就获取那个目录下的数据。
ret = os.popen("dir")
print(ret) # <os._wrap_close object at 0x0000023D391F8358>
print(ret.read())
"""
驱动器 F 中的卷没有标签。
卷的序列号是 48E9-4EE0
F:\Python03\python基础\01-基本数据类型和循环结构\15-模块\05-os模块 的目录
2019/07/24 09:57 <DIR> .
2019/07/24 09:57 <DIR> ..
2019/07/24 09:57 256 01-os模块.py
2019/07/23 14:52 0 __init__.py
2 个文件 256 字节
2 个目录 489,694,855,168 可用字节
"""
处理文件路径
os.path.abspath("dir"):
返回当前文件的绝对路径。
但是只能是能够找到的相对路径中,返回绝对路径。
os.paht.join(path, name):
拼接路径。将path和name拼接成一个绝对路径。
os.path.split():
将一个路径分为两部分,最后一部分是当前路径的文件或是文件夹名称。
os.path.dirname(path):
返回一个路径的除了最后文件名或是文件夹名的其余部分。
返回当前文件的上一级文件目录。
os.path.basename(path):
返回一个文件或是文件夹的名字
os.path.exists(path):
判断路径是否存在。
如果路径存在则返回True,如果路径不存在则返回False
os.path.isabs(path):
判断一个路径是否是绝对路径。
os.path.isdir(path):
判断路径是否是文件夹。
os.path.isfile(path):
判断路径是否是文件。
os.path.getsize(path):
获取文件的大小。
每次获取都是最少4096字节,并且是是以4096的倍数增加。
os.stat(path).stz_size:
使用这个方法也可以获取到文件或者文件夹的字节大小。