with open相关用法

1.读取文本文件

要读取文本文件,可以使用 with open 语句打开文件,并使用 read() 方法读取文件的内容。例如,以下代码读取名为 “example.txt” 的文件,并将其内容打印到控制台:

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

在这个示例中,我们使用了 with open 语句打开了一个名为 “example.txt” 的文件,模式为 “r”,表示只读模式。接着,我们使用 read() 方法读取了整个文件的内容,并将其赋值给 content 变量。最后,我们使用 print() 函数将 content 变量的值输出到控制台。

2.保存文本文件

要保存文本文件,可以使用 with open 语句打开文件,并使用 write() 方法写入文件的内容。例如,以下代码将字符串 “hello, world” 写入名为 “example.txt” 的文件:

with open("example.txt", "w") as file:
    file.write("hello, world")

在这个示例中,我们使用了 with open 语句打开了一个名为 “example.txt” 的文件,模式为 “w”,表示写入模式。接着,我们使用 write() 方法将字符串 “hello, world” 写入文件。最后,我们在 with 语句块结束时,文件将自动关闭。
需要注意的是,如果文件不存在,则会创建一个新文件并写入内容。如果文件已经存在,则会覆盖原有内容。如果你想要在文件末尾添加内容而不是覆盖原有内容,可以使用模式 “a”,表示追加模式。

with open("example.txt", "a") as file:
    file.write("\nmore content")

在这个示例中,我们使用模式 “a” 打开了一个名为 “example.txt” 的文件,并使用 write() 方法在文件末尾添加了一行内容 “more content”。在 with 语句块结束时,文件将自动关闭。

3.读取文本文件的行

如果你想逐行读取文本文件的内容,可以使用 readline() 方法。例如,以下代码读取名为 “example.txt” 的文件,并逐行输出其内容:

with open("example.txt", "r") as file:
    line = file.readline()
    while line:
        print(line.strip())
        line = file.readline()

在这个示例中,我们使用了 readline() 方法读取文件的一行内容,并将其赋值给 line 变量。然后,我们使用一个 while 循环遍历文件的每一行,打印出每一行的内容。需要注意的是,strip() 方法用于去除每一行的开头和结尾的空格和换行符。

4.读取文本文件的所有行

如果你想一次性读取文本文件的所有内容,并将其分割成一行行的字符串,可以使用 readlines() 方法。例如,以下代码读取名为 “example.txt” 的文件,并将其内容分割成一行行的字符串:

with open("example.txt", "r") as file:
    lines = file.readlines()
    for line in lines:
        print(line.strip())

在这个示例中,我们使用了 readlines() 方法读取文件的所有内容,并将其赋值给 lines 变量。然后,我们使用一个 for 循环遍历 lines 列表中的每一行,打印出每一行的内容。

5.写入多行文本

如果你想写入多行文本到文件中,可以使用 writelines() 方法。例如,以下代码将一个包含多行文本的列表写入名为 “example.txt” 的文件:

lines = ["line 1\n", "line 2\n", "line 3\n"]
with open("example.txt", "w") as file:
    file.writelines(lines)

在这个示例中,我们使用了一个列表 lines,其中包含了多行文本。然后,我们使用 writelines() 方法将 lines 列表中的每一行文本都写入到名为 “example.txt” 的文件中。

6.指定编码方式

如果你的文本文件使用的是一种非 UTF-8 编码方式,你可以在打开文件时指定编码方式。例如,以下代码打开一个使用 GBK 编码方式的文本文件,并读取其中的内容:

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

在这个示例中,我们在打开文件时使用 encoding 参数指定了 GBK 编码方式。然后,我们使用 read() 方法读取了整个文件的内容,并将其赋值给 content 变量。最后,我们使用 print() 函数将 content 变量的值输出到控制台。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐