如何在 Python 脚本的同一目录中打开文件?

2025 年 3 月 7 日 | 阅读 4 分钟

Python 是一种高级、解释型、灵活的编程语言,以其对代码清晰度的重视而闻名。它有助于面向对象的编程概念,如封装继承多态。Python 的简单易懂的语法使其深受初学者和经验丰富的程序员的欢迎。它提供了各种数据类型、运算符、条件语句、循环函数和文件处理功能。

Python 的动态语义、动态类型和动态绑定有助于其在快速应用程序开发和脚本任务中的吸引力。该语言庞大、现代的库、模块和程序促进了代码的模块化和重用。Python 解释器及其源代码级调试器允许快速开发周期和轻松调试。

在接下来的教程中,我们将讨论在 Python 脚本的同一目录中打开文件的各种方法。在我们开始之前,让我们先了解一些基础知识。

什么是目录?

目录是您计算机中的一个文件夹,您可以在其中保存和组织文档。它是由文件和子目录组成的集合,其中子目录是另一个目录中的目录。

没有父目录的目录称为根目录。访问文件的过程称为路径,它包括目录名称和文件夹名称的组合,这些名称由斜杠和冒号分隔,提供了在系统中文件的路径。

组织目录中数据的优势

在目录中组织数据的几个关键好处

  1. 组织:目录有助于构建和组织文件,从而更轻松地在项目中操作和查找特定文件。
  2. 文件分离:它们允许区分不同类型的文件,有助于保持干净且符合逻辑的文件结构。
  3. 可访问性:目录提供了一种系统化的方法来访问和处理文件,提高了文件管理任务的效率。
  4. 模块化:它们通过将相关文件分组在一起,促进模块化,从而促进代码重用和协作。
  5. 路径导航:目录允许使用路径来查找和访问文件,从而为系统中的特定文件提供清晰的路线。

组织目录中数据的缺点

在目录中组织数据的一些缺点

  1. 复杂性:过度嵌套的目录会造成复杂性和混淆,使得导航和有效管理文件变得困难。
  2. 文件冗余:效率低下的目录结构可能导致文件重复或文件分散,从而导致冗余和文件维护问题。
  3. 路径长度:深度嵌套的目录可能导致文件路径过长,这可能会超出系统限制并导致文件访问问题。
  4. 潜在错误:不正确的目录引用或管理不善可能导致文件操作错误,从而影响代码的功能。
  5. 维护开销:管理目录需要定期维护以确保正确的组织,这可能既耗时又容易出错。

在 Python 脚本的同一目录中打开文件的不同方法

Python 通过 `os` 模块提供了与目录交互的各种方法,包括 `os.getcwd()` 获取当前工作目录,`os.chdir()` 更改当前工作目录,以及 `os.listdir()` 列出目录中的文件和子目录。在本节中,我们将讨论一些基本方法,它们将帮助我们在 Python 脚本的同一目录中打开文件。

方法 1:使用 `os` 模块

Python 中的 `os` 模块提供了与操作系统交互的功能。您可以使用 `os.path` 功能来操作文件路径。

语法

示例

`example.txt`

输出

 
Hello, world!
This is an example file.   

代码解释

  • `os.path.dirname(__file__)`:获取当前 Python 脚本的目录。
  • `os.path.join()`:将目录路径与文件名连接起来,创建完整的文件路径。
  • `open(file_path, 'r')`:以读取模式打开文件。
  • `with` 语句:它确保在代码块执行完成后文件被正确关闭。

方法 2:使用 `pathlib` 模块

`Pathlib` 模块提供了一个面向对象的接口来处理文件系统路径。

语法

示例

`example.txt`

输出

 
Hello, world!
This is an example file.   

代码解释

  • `Path(__file__).parent`:获取当前 Python 脚本的目录,使用 `Path` 对象。
  • `current_directory / 'example.txt'`:将目录路径与文件名连接起来,创建完整的文件路径。
  • `open(file_path, 'r')`:以读取模式打开文件。
  • `with` 语句:它确保在代码块执行完成后文件被正确关闭。