os 模块可以帮助我们直接对操作系统进行操作。我们可以直接调用操作系统的可执行文件、命令,直接操作文件、目录等。
OS模块常用函数
- os.getcwd():返回当前工作目录。
- os.chdir(path):把path设为当前工作目录。
- os.remove(path):删除指定的文件,但是不能删除文件夹。
- os.mkdir(path):创建空目录。
- os.makedirs(path1\path2\path3\.....):创建多级目录,已有的话无法创建。
- os.rmdir(path): 删除一个目录,如果目录不为空,则会报错。
- os.removedirs(path1/path2/path3/...):递归删除目录,并递归到上一级目录,如果也为空,则也删除,以此类推。
- os.listdir(path):返回path目录下的文件和目录列表,包括隐藏文件。(无法返回子目录下的文件)。
- os.stat(path):获取文件/目录的信息,如文件大小、最后访问时间等。
- os.path.isdir(path):判断path是否为目录
- os.path.isfile(path):判断path是否为文件
- os.path.exists(path):判断指定路径的文件是否存在
- os.path.dirname(path):返回path的上一级目录
用法示例
获取指定文件夹下的所有文件
import os
# 获取指定文件夹下的所有文件,包括子文件下的,:keyword为可选值,筛选出文件名中包含keyword的文件
def GetFile(path, format, word):
files = os.listdir(path) # 得到文件夹下的所有文件,包含文件夹名称
FileList = []
for name in files:
if os.path.isdir(path + r'\\' + name):
FileList.extend(GetFile(path + r'\\' + name + r'\\', format, word)) # 回调函数,对所有子文件夹进行搜索
elif os.path.isfile(path + r'\\' + name):
if name.find(keyword) != -1: # 筛选出文件名中包含keyword的文件
FileList.append(path + r'\\' + name)
return FileList
# 执行主程序
if __name__=="__main__":
GetFile(path, format, keyword)
移除指定文件夹下的所有文件
import os
# 移除指定文件夹下的所有文件
def RemoveAllFile(path):
for i in os.listdir(path) : # os.listdir(path_data)#返回一个列表,里面是当前目录下面的所有东西的相对路径
file_data = path + "\\" + i #当前文件夹的下面的所有东西的绝对路径
if os.path.isfile(file_data): #os.path.isfile判断是否为文件,如果是文件,就删除.如果是文件夹.递归给del_file.
os.remove(file_data)
else:
RemoveAllFile(file_data)
# 执行主程序
if __name__=="__main__":
RemoveAllFile(path)