查看目录
==目标:==了解查看目录的使用。
Python中的os模块包含有操作系统所具备的功能,如查看路径、创建目录、显示文件列表等。
os模块是Python标准库,可直接导入使用:
# 导入os模块 import os
在Python中,os模块的常用函数分为两类:
(a)通过os.path调用的函数
(b)通过os直接调用的函数
在Python的os模块中,通过os.path常用函数:
函数名 | 含义 |
---|---|
exists(pathname) | 用来检验给出的路径是否存在。 |
isfile(pathname) | 用来检验给出的路径是否是一个文件。 |
isdir(pathname) | 用来检验给出的路径是否是一个目录。 |
abspath(pathname) | 获得绝对路径。 |
join(pathname,name) | 连接目录与文件名或目录。 |
basename(pathname) | 返回单独的文件名。 |
dirname(pathname) | 返回文件路径。 |
说明:
上述常用函数需要使用os.path来进行调用。
例如,使用os模块来完成:
(1)在某目录下手动新建day05/file目录与day05/file/hello.txt文件;
(2)判断file/hello.txt是否存在、是否是文件、是否是目录、获取绝对路径名、获取单独的文件名;
(3)执行程序,观察效果。
# 定义路径 # E:\PythonSource\Source202306_sz\pycode1\day05\data\file\hello.txt # path1 = "E:\PythonSource\Source202306_sz\pycode1\day05\data\file\hello.txt" # 可能会出错 # path2 = "E:\\PythonSource\\Source202306_sz\\pycode1\\day05\\data\\file\\hello.txt" # path3 = "E:/PythonSource/Source202306_sz/pycode1/day05/data/file/hello.txt" path4 = r"E:\PythonSource\Source202306_sz\pycode1\day05\data\file\hello.txt" # 正则 # 推荐 # path3 = "E:/PythonSource/Source202306_sz/pycode1/day05/data/file/hello.txt" # 推荐
import os # 定义变量 path = "./data/file/hello.txt" # 是否存在 # print(os.path.exists(path)) # 是否是文件 # print(os.path.isfile(path)) # 目录 # print(os.path.isdir(path)) # False # 绝对路径 # print(os.path.abspath(path)) # 单独文件名 print(os.path.basename(path))
==总结:==
(1)在Python中操作目录时,需要使用到os模块;
(2)注意:当要检查某目录是否存在时,可以使用()方法。==A、exists()==;B、isfile()。
目录的具体操作
==目标:==了解操作目录的方式有哪些?
在Python的os模块中,可直接通过os调用的常用函数:
函数名 | 含义 |
---|---|
getcwd() | 获得当前工作目录,即当前Python脚本工作的目录路径。 |
system(name) | 运行shell命令。 |
listdir(path) | 返回指定目录下的所有文件和目录名,即获取文件或目录列表。 |
mkdir(path) | 创建单个目录。 |
makedirs(path) | 创建多级目录。 |
remove(path) | 删除一个文件。 |
rmdir(path) | 删除一个目录。 |
rename(old, new) | 重命名文件。 |
说明:
上述常用函数可直接使用os来进行调用。
例如,使用os模块来完成:
(1)获取当前工作目录;
(2)获取day05/file下的文件或目录列表信息;
(3)思考:若要在file下新建hello/world/python目录,该怎么做呢?
import os # 1.获取目录 # path = os.getcwd() # print(path) # 2.获取文件或列表信息 # path_name = "./data/file" # dir_lists = os.listdir(path_name) # print(dir_lists) # 3.新建目录 # 问题: 当目录不存在时,才需要创建; 已存在, 则不创建 new_path_name = "./data/file/hello/world/python" if not os.path.exists(new_path_name): # 逻辑# 创建os.makedirs(new_path_name)print("已创建成功!!!")
==总结:==
(1)当要遍历及获取某目录下的所有文件信息时,可以使用()方法;==A、listdir()==;B、rmdir();
(2)注意:当要涉及到操作目录,比如创建目录、检查目录是否存在等,就需要直接使用os模块。