首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
第 1章 处理错误和寻求帮助
1.1 如何理解Python错误信息
1.1.1 检查回溯信息
1.1.2 搜索错误信息
1.2 借助linter 避免错误
1.3 如何寻求编程帮助
1.3.1 预先提供信息以避免反复补充
1.3.2 以实际问题的形式陈述问题
1.3.3 在合适的网站上提出你的问题
1.3.4 在标题中概述你的问题
1.3.5 说明代码的预期目的
1.3.6 包含完整的错误信息
1.3.7 分享全部代码
1.3.8 通过适当的格式化增强代码可读性
1.3.9 告诉帮忙者已经尝试过的方法
1.3.10 描述你的设置信息
第 2章 环境设置和命令行
2.1 文件系统
2.1.1 Python中的路径
2.1.2 主目录
2.1.3 当前工作目录
2.1.4 绝对路径和相对路径
2.2 程序和进程
2.3 命令行
2.3.1 打开终端窗口
2.3.2 使用命令行运行程序
2.3.3 使用命令行参数
2.3.4 在命令行中使用-c 运行Python代码
2.3.5 从命令行运行Python 程序
2.3.6 运行py.exe 程序
2.3.7 在Python 程序中运行命令
2.3.8 使用Tab 补全命令减少输入量
2.3.9 查看历史命令
2.3.10 使用常用命令
2.4 环境变量和PATH
2.4.1 查看环境变量
2.4.2 使用PATH 环境变量
2.4.3 更改命令行的PATH 环境变量
2.4.4 在Windows 上将文件夹永久添加到PATH
2.4.5 在macOS 和Linux 上将文件夹永久添加到PATH
2.5 不借助命令行运行Python 程序
2.5.1 在Windows 上运行Python程序
2.5.2 在macOS 上运行Python 程序
2.5.3 在Ubuntu Linux 上运行Python程序
第3章 使用Black 进行代码格式化
3.1 让程序员招人烦的错误做法
3.2 风格指南和PEP 8
3.3 水平间距
3.3.1 使用空格进行缩进
3.3.2 行内间距
3.4 垂直间距
3.4.1 垂直间距示例
3.4.2 垂直间距的最佳实践
3.5 Black:毫不妥协的代码格式化工具
3.5.1 安装Black
3.5.2 在命令行中运行Black
3.5.3 对部分代码禁用Black
当前位置:
首页>>
技术小册>>
Python编程轻松进阶(一)
小册名称:Python编程轻松进阶(一)
### 2.1.4 绝对路径和相对路径 在Python编程中,尤其是在处理文件、目录或模块时,理解并掌握绝对路径(Absolute Path)与相对路径(Relative Path)的概念至关重要。这两个概念不仅影响代码的可移植性,还直接关系到程序的运行效率和错误处理。下面,我们将深入探讨这两种路径形式的定义、用法、优缺点以及如何在实际编程中灵活运用它们。 #### 2.1.4.1 定义与基本概念 **绝对路径**:从根目录(在Windows中是盘符根目录,如`C:\`;在Unix/Linux/macOS中是根目录`/`)开始,到目标文件或目录的完整路径。它包含了所有中间目录的名称,中间用分隔符(Windows中是`\`或`/`,Unix/Linux/macOS中是`/`)分隔。绝对路径是唯一确定的,不依赖于当前工作目录。 **相对路径**:相对于当前工作目录(Current Working Directory,CWD)的路径。它不需要从根目录开始,而是从当前目录出发,按照指定的方向(向上或向下)找到目标文件或目录。相对路径可以缩短路径的长度,使代码更简洁,但要求代码执行时当前工作目录是已知的或可预测的。 #### 2.1.4.2 使用场景与示例 **绝对路径的使用场景**: - 当你需要确保文件或目录的位置在所有环境下都保持不变时,使用绝对路径可以避免因当前工作目录不同而导致的路径错误。 - 在开发大型项目时,如果项目结构复杂且需要频繁引用不同层级目录下的资源,使用绝对路径可以清晰地指定资源的位置,减少出错的可能性。 **示例**(Windows环境下): ```python # 使用绝对路径打开文件 with open('C:\\Users\\YourUsername\\Documents\\example.txt', 'r') as file: content = file.read() print(content) ``` **相对路径的使用场景**: - 当你的项目结构相对简单,或者你希望代码能够在不同的工作目录中灵活运行时,使用相对路径可以提高代码的可移植性。 - 在编写脚本或小型应用程序时,如果脚本或应用与其所依赖的文件或目录在同一目录下或附近,使用相对路径可以简化代码。 **示例**(假设当前工作目录是`/home/user/projects/myapp`): ```python # 使用相对路径打开文件 with open('data/example.txt', 'r') as file: content = file.read() print(content) ``` 在这个例子中,`data/example.txt`是相对于当前工作目录`/home/user/projects/myapp`的路径,意味着Python会尝试打开`/home/user/projects/myapp/data/example.txt`文件。 #### 2.1.4.3 优缺点分析 **绝对路径的优点**: - 明确无误,不依赖于当前工作目录,减少因路径错误导致的程序崩溃。 - 便于在不同用户或系统间共享代码时保持路径一致性。 **绝对路径的缺点**: - 硬编码的路径信息降低了代码的可移植性,特别是在不同操作系统或不同文件结构的环境中。 - 修改文件位置时需要更新代码中的路径信息,增加了维护成本。 **相对路径的优点**: - 提高代码的可移植性和灵活性,使得代码更容易在不同环境下运行。 - 简化代码,使路径表示更加直观和简洁。 **相对路径的缺点**: - 依赖于当前工作目录,如果当前工作目录不是预期的目录,可能会导致路径错误。 - 在复杂的项目结构中,可能需要多次跳转目录或使用复杂的路径表达式来定位目标文件或目录。 #### 2.1.4.4 编程实践中的注意事项 1. **明确当前工作目录**:在编写涉及文件操作的代码时,首先要明确当前工作目录是什么。在Python中,可以使用`os.getcwd()`函数来获取当前工作目录的路径。 2. **灵活使用`os.path`和`pathlib`模块**:Python的`os.path`模块和Python 3.4及以后版本引入的`pathlib`库提供了丰富的路径操作功能,包括路径拼接、分解、文件类型判断等,能够帮助开发者更灵活地处理路径问题。 3. **考虑跨平台兼容性**:在编写跨平台的Python程序时,要注意路径分隔符的差异。`os.path`模块中的`os.path.join()`函数和`pathlib`库的`Path.joinpath()`方法能够自动处理不同操作系统下的路径分隔符问题。 4. **文档化路径信息**:如果代码中使用了绝对路径或复杂的相对路径,建议在代码或相关文档中清晰记录这些路径信息的用途和目的,以便于其他开发者理解和维护。 5. **错误处理**:在尝试打开文件或目录时,要考虑到路径可能不存在或无法访问的情况,使用try-except语句块来捕获并处理`FileNotFoundError`、`PermissionError`等异常。 #### 2.1.4.5 小结 绝对路径和相对路径各有其适用场景和优缺点。在实际编程中,应根据项目的具体需求和运行环境来选择合适的路径表示方式。通过明确当前工作目录、灵活使用Python提供的路径操作模块、考虑跨平台兼容性以及做好错误处理,可以有效地管理和使用路径信息,提高代码的可读性、可维护性和可移植性。
上一篇:
2.1.3 当前工作目录
下一篇:
2.2 程序和进程
该分类下的相关小册推荐:
Python机器学习基础教程(下)
Python数据分析与挖掘实战(下)
Python合辑5-格式化字符串
Python与办公-玩转PPT
Python爬虫入门与实战开发(上)
Python3网络爬虫开发实战(上)
剑指Python(磨刀不误砍柴工)
实战Python网络爬虫
Python神经网络入门与实践
Python合辑9-判断和循环
Python合辑11-闭包函数
机器学习算法原理与实战