更新时间:2021-05-14 来源:黑马程序员 浏览量:
os模块中定义了一些用于处理文件夹操作的函数,例如创建目录、获取文件列表等函数;除os模块外,Python中的shutil模块也提供了一些文件夹操作。下面将对os模块和shutil模块中的一些文件夹操作函数进行介绍。
1.创建目录
os模块中的mkdir()函数用于创建目录,其语法格式如下:
os.mkdir(path, mode)上述格式中,参数path表示要创建的目录,参数mode表示目录的数字权限,该参数在Windows系统下可忽略。
假设当前需要设计一个功能用于判断目录是否存在,如果目录不存在,执行创建目录操作,同时在该目录下创建一个“dir_demo.txt”文件并写入数据;如果目录存在,提示用户“目录已存在”。示例代码如下:
import os dir_path = input('请输入目录:') # 判断目录是否存在 yes_or_no = os.path.exists(dir_path) if yes_or_no is False: os.mkdir(dir_path) new_file = open(os.getcwd() + '\\' + dir_path + "\\" + "dir_demo.txt", 'w', encoding='utf-8') new_file.write("itcast") print("写入成功") new_file.close() else: print("该目录已存在")
上述代码使用input()函数接收用户输入的目录,通过exists()函数判断目录是否存在,如果目录不存在,创建目录和文件dir_demo.txt,并使用write()方法向该文件中写入数据;如果目录存在,提示用户“该目录已存在”。
运行代码,输入一个不存在的目录,结果如下所示:
请输入目录:test_dir 写入成功
再次运行代码,检测“test_dir”目录是否存在,结果如下所示。
import os import shutil print(os.path.exists("test_dir")) # 第1次判断目录是否存在 shutil.rmtree("test_dir") # 执行删除操作 print(os.path.exists("test_dir")) # 第2次判断目录是否存在
上述代码首先使用exists()函数判断“test_dir”目录是否存在,如果存在返回True,否则返回False,然后使用rmtree()函数执行删除操作,最后使用exists()函数再次进行判断。
运行代码,结果如下所示:
True False
对输出结果进行分析:第一次执行exists()函数返回的结果为True,表明文件夹存在;执行rmtree()函数后,再次执行exists()函数后返回结果为False,表明该文件夹删除成功。
3.获取目录的文件列表
os模块中的listdir()函数用于获取文件夹下文件或文件夹名的列表,该列表以字母顺序排序,其语法格式如下:
listdir(path)
上述格式中,参数path表示要获取的目录列表。
使用listdir()函数获取指定目录下文件列表,示例代码如下:
import os current_path = r"D:\Python项目" print(os.listdir(current_path))
运行代码,结果如下所示:
['learn_python.py', 'first_file.py']
猜你喜欢: