Python文件IO

程序员卷不动了 2023-03-14 PM 410℃ 0条

Python支持各种文件IO操作,可以用于在程序中读取、写入和修改文件。以下是Python文件IO的一些基本概念和操作。

  1. 打开文件(Opening Files)

要打开一个文件,需要使用open()函数,它需要指定文件名和操作模式。可以使用不同的模式打开文件,如读取、写入和追加等操作。

file = open("filename.txt", "r")
# 对文件进行读取操作

file.close()

在这个例子中,我们使用open()函数打开名为filename.txt的文件,并使用模式”r”进行读取操作。最后,我们使用close()函数关闭文件,以确保释放资源。

  1. 读取文件(Reading Files)

要从文件中读取内容,可以使用read()函数,它将文件中的整个内容作为字符串返回。还可以使用readline()函数从文件中逐行读取内容。

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

在这个例子中,我们使用read()函数从文件中读取整个内容并将其存储在名为content的变量中。

  1. 写入文件(Writing to Files)

要将内容写入文件,可以使用write()函数,它将指定的字符串写入文件。还可以使用writelines()函数将字符串列表写入文件中。

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

在这个例子中,我们使用write()函数将字符串“Hello world”写入文件中。

  1. 追加文件(Appending to Files)

如果我们想将内容添加到现有文件而不是覆盖它,可以使用追加模式写入文件。在打开文件时使用”a”模式,就可以在文件末尾添加新内容。

 file = open("filename.txt", "a")
file.write("New content")
file.close()

在这个例子中,我们使用append mode("a")将字符串“New Content”追加到文件中。

  1. with语句(With statement)

使用Python内置的with语句可以更方便地管理文件IO。在with语句块中打开文件,程序执行完毕后自动关闭文件。

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

在这个例子中,我们使用with语句打开文件进行读取操作,当with块结束时,Python自动关闭文件。这使得代码更简洁,并且可以避免忘记手动关闭文件而产生的问题。

除了这些基本的文件IO操作外,Python还支持其他高级文件操作,如文件句柄操作、二进制文件读写、文件指针控制等。

以下是一些常用方法和技巧:

  1. 使用“with”关键字进行文件处理:使用with语句可以自动处理文件。它可以确保在完成操作时始终关闭文件,甚至在出现异常或错误时也可以执行此操作。范例如下:
 with open("example.txt", "r") as file:
    content = file.read()
  1. 使用“readlines()”方法来读取所有行:readlines()方法返回一个包含文件中所有行的列表,在处理大型文件时非常有用。范例如下:
 with open("example.txt", "r") as file:
    lines = file.readlines()
    for line in lines:
        print(line)
  1. 使用“os”模块进行特殊文件操作:os模块提供了在特殊文件(如目录和符号链接)上执行操作的方法。例如,os.mkdir()方法可以用于创建新目录,而上下文管理器os.scandir()可以迭代目录内容。范例如下:
 import os

os.mkdir("new_directory")

with os.scandir("directory") as entries:
    for entry in entries:
        print(entry.name)
  1. 使用“pickle”模块对Python对象进行序列化:pickle模块可以将Python对象序列化为字节流,以便稍后重新加载。这对于存储、传输和共享数据非常有用。范例如下:
 import pickle

data = {"name": "John", "age": 30}

with open("data.pkl", "wb") as file:
    pickle.dump(data, file)

with open("data.pkl", "rb") as file:
    loaded_data = pickle.load(file)
    print(loaded_data)

这些是Python文件I/O的一些高级方法和技巧,可以帮助您更有效地处理文件和数据。

非特殊说明,本博所有文章均为博主原创。

上一篇 Python模块
下一篇 Python字符串操作

评论啦~