当前位置:首页>python>[python]文件读写的基础用法

[python]文件读写的基础用法

  • 2026-09-02 18:50:41
[python]文件读写的基础用法

大家好,我是郭立员~,本文所讲内容仅供学习参考,请勿非法使用。

前言

python中读写文件很少用open命令,而是用with open命令,后者不需要用close关闭,同时在运行中报错也能安全关闭。

with open("1.txt", "r", encoding="utf-8") as f:    content = f.read()    print(content)

上面代码中with open命令有3个参数:

1.txt 代表文件路径

r 代表打开模式是 读文件 是read的简写

encoding="utf-8" 代表文件编码是utf-8

其中打开模式是最重要的,有几个不同的模式:

r、w、a分别是read、write、append三个单词的缩写,代表读、写、追加。注意这里面“写”是覆盖写入。

读写文件基础用法的例子:

1. 读取文本

with open("1.txt", "r", encoding="utf-8") as f:    content = f.read()    print(content)

2. 按行读取文本,结果存入数组

with open("1.txt", "r", encoding="utf-8") as f:    content = f.readlines()    print(content)

输出结果:

['abc\n', '123\n', '456']

出最后一项外,其他数组内容结尾处都有\n,这里\n是换行的的意思。但是实际上我们并不需要读取结果中\n,所以需要使用strip()命令清除掉换行符。

with open("1.txt", "r", encoding="utf-8") as f:    content = f.readlines()    print(content)    content = [line.strip() for line in content]    print(content)

这里使用经典的列表推导式

content = [line.strip() for line in content]

先遍历数组content中的每一个元素,用line输出,然后line.strip()进行去除换行符,最后把结果用[]在存入数组。

等价写法:

lines = []for line in content:    lines.append(line.strip())content = linesprint(content)

3.迭代读取,大文件按行读取,每次读取新一行内容

with open("1.txt", "r", encoding="utf-8") as f:    content = f.readline()    print(content)    content = f.readline()    print(content)

4. 写入文件

① 覆盖写入

with open("1.txt", "w", encoding="utf-8") as f:    f.write("覆盖写入")

② 单次写入多行

with open("1.txt", "w", encoding="utf-8") as f:    f.write("第一行\n")    f.write("第二行\n")    f.write("第三行")

5. 把数组内容按行写入到文本

lst = ["第一行", "第二行", "第三行"]withopen("1.txt", "w", encoding="utf-8") as f:    lst = [line+"\n" for line in lst]    f.writelines(lst)

数组内容需要在结尾处加上\n进行换行。

6. 追加内容,一般会在结尾加上\n换行

with open("1.txt", "a", encoding="utf-8") as f:    f.write("这是追加的一行内容\n")

追加内容和写入内容用法上基本一致,就是不清空原有内容,在原有内容基础上加入新的内容。

以上就是常用的读写文件命令。

最新文章

随机文章