Python 文件操作

163 阅读3分钟

Python是一门强大的编程语言,它提供了很多用于文件操作的内置函数和模块。在本文中,我们将介绍Python中常用的文件操作方式。

打开和关闭文件

在Python中,使用open函数来打开一个文件,该函数接受两个参数:文件名和打开模式。

file = open("filename.txt", "r")

打开模式有多种,常见的模式如下:

  • "r": 以只读模式打开文件
  • "w": 以写入模式打开文件,如果文件已存在,则覆盖文件
  • "a": 以追加模式打开文件,如果文件不存在,则创建文件

当我们完成对文件的操作后,需要使用close函数来关闭文件。

file.close()

读取和写入文件

在Python中,可以使用read函数来读取文件中的内容。

file = open("filename.txt", "r")
content = file.read()
print(content)
file.close()

上述代码将打开一个名为filename.txt的文件,并读取文件中的全部内容,然后将内容打印到屏幕上。

如果我们需要写入文件,可以使用write函数。

file = open("filename.txt", "w")
file.write("Hello, World!")
file.close()

上述代码将打开一个名为filename.txt的文件,并向文件中写入"Hello, World!"。

如果我们想在文件中追加内容,可以使用append模式打开文件,并使用write函数写入内容。

file = open("filename.txt", "a")
file.write("Hello, World!")
file.close()

上述代码将打开一个名为filename.txt的文件,并向文件中追加"Hello, World!"。

文件指针和文件对象

在Python中,文件指针用于记录文件中的位置。当我们打开一个文件时,文件指针通常指向文件的开头。

可以使用seek函数来移动文件指针的位置。

file = open("filename.txt", "r")
file.seek(10) # 将文件指针移动到文件的第10个字节
content = file.read()
print(content)
file.close()

在Python中,文件对象是一个用于访问文件的类。可以使用dir函数查看文件对象的方法和属性。

file = open("filename.txt", "r")
print(dir(file))
file.close()

输出结果如下:

['__class__', '__del__', '__delattr__', '__dir__', '__doc__', '__enter__', '__eq__', '__exit__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__lt__', '__ne__', '__new__', '__next__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_checkClosed', '_checkReadable', '_checkSeekable', '_checkWritable', '_deallocWarn', 'buffer', 'close', 'closed', 'detach', 'encoding', 'errors', 'fileno', 'flush', 'isatty', 'line_buffering', 'mode', 'name', 'newlines', 'read', 'readable', '

在上述输出结果中,可以看到文件对象的方法和属性,例如read、write、seek、close、mode、name等。

在Python中,还有一个很有用的方法是with语句。使用with语句可以自动关闭文件,无需手动调用close函数。

with open("filename.txt", "r") as file:
    content = file.read()
    print(content)

上述代码将打开一个名为filename.txt的文件,并读取文件中的全部内容,然后使用with语句自动关闭文件。

异常处理

在文件操作中,可能会出现一些异常,例如文件不存在或无法读取文件等。在Python中,可以使用try/except语句来捕获异常并进行处理。

try:
    with open("filename.txt", "r") as file:
        content = file.read()
        print(content)
except FileNotFoundError:
    print("File not found")
except:
    print("An error occurred")

上述代码将尝试打开一个名为filename.txt的文件,并读取文件中的全部内容。如果文件不存在,则会捕获FileNotFoundError异常;如果出现其他异常,则会捕获所有异常。

在Python中,异常类型有很多种,可以根据不同的异常类型来处理不同的异常。

try:
    with open("filename.txt", "r") as file:
        content = file.read()
        print(content)
except FileNotFoundError:
    print("File not found")
except PermissionError:
    print("Permission denied")
except:
    print("An error occurred")

上述代码将捕获FileNotFoundError和PermissionError异常,并分别进行处理。

总结:

  • 在Python中,使用open函数来打开一个文件,并使用close函数来关闭文件。
  • 可以使用read函数和write函数来读取和写入文件。
  • 可以使用文件指针来移动文件中的位置。
  • 文件对象是一个用于访问文件的类,可以使用dir函数查看文件对象的方法和属性。
  • 使用with语句可以自动关闭文件,无需手动调用close函数。
  • 使用try/except语句可以捕获异常并进行处理。可以根据不同的异常类型来处理不同的异常。