Python3 - 读写文本数据

问题

读写各种不同编码的文本数据,比如ASCII,UTF-8或UTF-16编码等。

解决方案

使用带有 r+ 模式的 open() 函数读取文本文件。如下所示:

with open('/Users/xz/test/1.txt', 'r+') as f:
    data = f.read()
    print(data)

mac-python
linux-python
windows-python


with open('/Users/xz/test/1.txt', 'rt') as f:
    print(type(f))
    for line in f:
        print(line)


mac-python
linux-python
windows-python

类似的,为了写入一个文本文件,使用带有 wt 模式的 open() 函数, 如果之前文件内容存在则清除并覆盖掉。如果是在已存在文件中添加内容,使用模式为 a+open() 函数。

Python支持非常多的文本编码。几个常见的编码是ascii, latin-1, utf-8和utf-16。 在web应用程序中通常都使用的是UTF-8。

讨论

示例程序中,with语句给被使用到的文件创建了一个上下文环境, 但 with 控制块结束时,文件会自动关闭。你也可以不使用 with 语句,但是必须记得手动关闭文件:

f = open('somefile.txt', 'rt')
data = f.read()
f.close()

你可能感兴趣的:(Python3 - 读写文本数据)