目录:
当前工作目录
绝对路径与相对路径
使用Python处理路径
文件存在性检查及类型判断
当前工作目录
首先,我们需要了解“当前工作目录(Current Working Directory, CWD)”的概念。每个程序运行时都有一个默认的工作目录,所有未明确指定完整路径的操作都将在这个目录下执行。我们可以通过Python的os模块来获取或修改当前工作目录。
import os # 导入os模块以使用系统相关的功能
# 获取当前工作目录
current_directory = os.getcwd()
print("当前工作目录是:", current_directory)
# 假设我们要改变当前工作目录到C盘下的某个文件夹
new_working_directory = 'C:\Users\山海摸鱼人\Documents'
try:
os.chdir(new_working_directory)
print("工作目录已更改至:", new_working_directory)
except FileNotFoundError:
print(f"无法找到路径: {new_working_directory}")
上面代码展示了如何查看当前工作目录以及尝试切换到新的目录。如果新目录不存在,程序会捕捉到FileNotFoundError异常并给出提示信息。
绝对路径与相对路径
接下来,让我们看看什么是绝对路径和相对路径。
当前目录与父目录示例说明
假设你的电脑上有如下结构:
C:.
└── Users
└── 山海摸鱼人
├── Documents
│ └── example.txt
└── Downloads
└── another_example.txt
C:Users山海摸鱼人Documentsexample.txt 是一个绝对路径。
如果当前工作目录是C:Users山海摸鱼人Downloads:
使用Python处理路径
Python提供了一个强大的os.path子模块来帮助我们更方便地处理文件路径问题。下面是一些常用的方法及其用法示例:
1、转换为绝对路径 – os.path.abspath(path)
2、检查是否为绝对路径 – os.path.isabs(path)
3、计算相对路径 – os.path.relpath(path, start)
4、获取路径的基本名 – os.path.basename(path)
5、获取路径的目录名 – os.path.dirname(path)
# 定义几个路径供演示
relative_path = '.\example.txt' # 相对于当前目录
absolute_path = 'C:\Users\山海摸鱼人\Documents\example.txt'
# 将相对路径转为绝对路径
absolute_version = os.path.abspath(relative_path)
print("相对路径转绝对路径:", absolute_version)
# 检查给定路径是否为绝对路径
print("检查是否为绝对路径:", os.path.isabs(absolute_path))
# 计算从C盘根目录到目标文件的相对路径
relative_from_cdrive = os.path.relpath(absolute_path, 'C:\')
print("从C盘根目录到目标文件的相对路径:", relative_from_cdrive)
# 分离出文件名部分
file_name = os.path.basename(absolute_path)
print("文件名:", file_name)
# 分离出目录部分
directory = os.path.dirname(absolute_path)
print("所在目录:", directory)
这段代码演示了如何利用os.path的各种方法来操作文件路径。你可以根据自己的需要调整这些路径值。
文件存在性检查及类型判断
最后,为了安全起见,在对文件进行读写之前,通常我们会先验证文件是否存在,以及确定它是文件还是目录。
test_file = 'C:\Users\山海摸鱼人\Documents\example.txt'
test_dir = 'C:\Users\山海摸鱼人\Documents'
# 检查文件或目录是否存在
exists = os.path.exists(test_file)
print(f"{test_file} 存在吗? {'是' if exists else '否'}")
# 判断是否为文件
is_file = os.path.isfile(test_file)
print(f"{test_file} 是文件吗? {'是' if is_file else '否'}")
# 判断是否为目录
is_dir = os.path.isdir(test_dir)
print(f"{test_dir} 是目录吗? {'是' if is_dir else '否'}")
通过以上步骤,你应该掌握了基本的路径管理和文件检查技巧。
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: lzxmw777