Python 打开文件

Python 打开文件

Python 中,我们可以使用内置函数 open() 来打开文件并操作其中的内容。在使用 open() 函数时,我们需要使用一个字符串参数指定要打开的文件的路径和文件名,该参数被称为文件名或文件路径。

打开文件的语法

open() 函数有两个必需的参数 – 文件名和模式:

file = open(file_name, mode)
  • file_name:文件名或文件路径,字符串类型。
  • mode:打开文件时的模式,字符串类型。

打开文件的模式

以下是打开文件时可用的模式:

  • r:以只读模式打开文件。文件的指针会放在文件的开头。这是默认模式。
  • w:以写入模式打开文件。如果文件存在,则覆盖整个文件,否则创建一个新文件以进行写入。
  • a:以追加模式打开文件。文件的指针会放在文件的末尾。如果文件不存在,则创建一个新文件以进行写入。
  • x:以独占模式创建文件。

当使用打开文件模式时,我们可以利用文件句柄来进行文件操作。我们也可以通过使用 with 语句来打开文件,这样可以保证在不需要文件时,文件能够正常关闭。with 语句是一个语法块,被用来执行文件操作。打开文件并使用 with 语句的一般语法如下:

with open(file_name, mode) as file:
    # 文件操作

下面是一个简单的示例,我们将以写入模式打开一个文件,然后向文件中写入一些内容:

with open('example.txt', 'w') as file:
    file.write('这是要写入到 example.txt 中的文本\n')
    file.write('第二行文本。\n')

在上面的代码中,我们使用 with 语句打开了一个名为 example.txt 的文件,并使用 w 模式来打开它以进行写入操作。我们随后向文件中写入了两行文本。

读取文件中的内容

我们可以使用 read() 函数来读取打开的文件的内容。read() 函数用于从文件中读取指定数量的字节或读取整个文件。我们可以使用以下语句读取文件中的所有内容:

with open('example.txt') as file:
    contents = file.read()
    print(contents)

运行上面的代码将输出我们之前写入的两行文本。

关闭文件

在操作完成后,我们需要确保文件被关闭。虽然使用 with 语句可以确保文件关闭,但现有的文件对象也可以使用以下语法来关闭:

file.close()

考虑到不需要使用文件时可能会忘记这样做,因此使用 with 语句打开文件是一个更好的方法。

使用 seek() 操作文件

我们可以使用 seek() 函数操作已打开文件的文件指针。当文件标题不再按顺序时,我们可以使用具有偏移量参数的 seek() 函数将文件指针移动到所需位置。以下是 seek() 函数的一般语法:

file.seek(offset[, whence])
  • offset:文件指针相对于位置的位移量。负值将指向文件的起始位置。
  • whence:可选的参数,指定开始偏移的位置。默认值为0(文件开头)。相对于文件开头指定 whence 为1。相对于文件结尾指定 whence 为2。

以下是使用 seek() 函数的示例,我们将先读取文件中的前五个字符,然后将文件指针移动到文件的第六个字符:

with open('example.txt') as file:
    five_chars = file.read(5)
    print(five_chars)
    next_char = file.read(1)
    print(next_char)
    file.seek(5)
    next_char = file.read(1)
    print(next_char)

在这个示例中,我们使用 read() 函数读取了文件的前五个字符,然后再次使用 read() 函数读取了文件中的下一个字符。接下来,我们将使用 seek() 函数将文件指针移动到文件中的第六个字符,最后打印了第六个字符。

对文件内容进行迭代

我们可以使用 for 循环来迭代一个已打开的文件中的每一行。下面是一个将 example.txt 文件中的每一行打印到控制台的简单示例:

with open('example.txt') as file:
    for line in file:
        print(line)

在这个示例中,我们使用 for 循环迭代了文件中的每一行,并用 print() 函数将每一行打印到控制台。

检查文件是否存在

我们可以使用 os 模块的 path 模块函数 exists() 来检查文件是否存在。下面是一个简单的示例:

import os

file_path = 'example.txt'

if os.path.exists(file_path):
    print('文件已存在')
else:
    print('文件不存在')

在这个示例中,我们使用 os.path.exists() 函数来检查名为 example.txt 的文件是否存在。如果文件存在,我们将向控制台输出 "文件已存在",否则输出 "文件不存在"

结论

Python 中,我们可以使用 open() 函数打开并操作文件。在使用 open() 函数时,我们需要指定要打开的文件的名称或路径以及打开文件的模式。一旦文件打开,我们可以使用文件句柄来执行文件操作,例如读取和写入文件。在操作完成后,我们需要确保文件已关闭。我们也可以使用 with 语句来打开文件,在不需要使用文件时自动关闭文件。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程