下面是关于Python路径的写法及目录的获取方式的攻略。
Python路径的写法
在Python中,常用的路径写法有两种,分别是绝对路径和相对路径。
绝对路径
绝对路径是指从根目录开始的完整路径,因此它具有确定性和精准性,但是它往往很长,有时不方便使用。
在Linux或Mac系统中,绝对路径通常以"/"开头,例如:
/home/user/workplace/project1/test.py
在Windows系统中,绝对路径通常以盘符和":"开头,例如:
C:\Users\UserName\Documents\project2\test.py
相对路径
相对路径是指相对于当前工作目录的路径,因此它不是精确的路径,它通常只能用于在当前项目中寻找文件。
在Python中,可以使用"."表示当前目录,".."表示上一级目录。例如:
./test.py # 当前目录下的test.py
../test.py # 上一级目录下的test.py
目录的获取方式
Python中有几种方法可以获取目录:
方法一:使用os模块
Python的os模块提供了许多可以处理目录和文件的函数,如获取当前工作目录、改变工作目录、列出目录下的文件等等。以下是os模块的几个常见函数:
import os
# 获取当前工作目录
os.getcwd()
# 改变当前工作目录
os.chdir('/home/user/workplace/project1')
# 获取目录内所有文件和子目录的名称,并以列表的形式返回
os.listdir('/home/user/workplace/project1')
# 判断是否是目录
os.path.isdir('/home/user/workplace/project1')
# 判断是否是文件
os.path.isfile('/home/user/workplace/project1/test.py')
# 获取目录名
os.path.dirname('/home/user/workplace/project1/test.py')
# 获取文件名
os.path.basename('/home/user/workplace/project1/test.py')
方法二:使用Pathlib模块
Pathlib是Python 3.4之后新增的一个模块,它提供了一种面向对象的路径操作方式,可以通过直接调用路径的方法来获取路径信息、操作文件等。以下是Pathlib模块的几个常见函数:
from pathlib import Path
# 获取当前工作目录
p = Path.cwd()
# 改变当前工作目录
p.chdir()
# 列出当前目录下的文件和子目录
p.iterdir()
# 判断是否是目录
p.is_dir()
# 判断是否是文件
p.is_file()
# 获取目录名
p.parent
# 获取文件名
p.name
示例说明
示例一:使用os模块获取目录信息并列出文件
import os
# 获取当前项目的根目录
base_dir = os.path.dirname(os.path.abspath(__file__))
# 列出某个目录下的所有文件
file_list = os.listdir(os.path.join(base_dir, 'data'))
# 打印所有文件名
for file in file_list:
print(file)
在这个示例中,我们首先使用os模块获取当前项目的根目录,然后使用os.path.join函数拼接出某个目录的路径,并使用os.listdir函数列出该目录下的所有文件,最后使用for循环遍历所有文件名并打印。
示例二:使用Pathlib模块获取目录信息并列出文件
from pathlib import Path
# 获取当前项目的根目录
base_dir = Path(__file__).resolve().parent
# 列出某个目录下的所有文件
file_list = [x.name for x in (base_dir / 'data').iterdir() if x.is_file()]
# 打印所有文件名
for file in file_list:
print(file)
在这个示例中,我们首先使用Pathlib模块获取当前项目的根目录,然后通过路径的方式获取某个目录下的所有文件,并使用列表推导式过滤出所有的文件名,最后使用for循环遍历所有文件名并打印。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python路径的写法及目录的获取方式 - Python技术站