问题描述:
fo.writelines()和fi.readlines()两者操作正好相反,fi.readlines()可以将一个文件按照行分为多个元素的列表,而fo.writelines()可以将多个元素的列表写入一个文件中,而每一行正好对应一个元素。
问题解答:
fo.writelines()
和 fi.readlines()
之间的操作是相反的:
fi.readlines()
从文件中读取所有行并返回一个列表,每个元素对应文件中的一行。fo.writelines()
将一个字符串列表写入文件,每个元素作为一行写入。
fi.readlines()
示例
从文件中读取每一行并存储在一个列表中:
with open('input.txt', 'r', encoding='utf-8') as fi:
lines = fi.readlines()
print(lines)
假设 input.txt
文件内容如下:
张三,18,5000
李四,20,6000
lines
列表将包含以下内容:
['张三,18,5000\n', '李四,20,6000\n']
fo.writelines()
示例
将一个字符串列表写入文件,每个元素作为一行写入:
lines = ['张三,18,5000\n', '李四,20,6000\n']
with open('output.txt', 'w', encoding='utf-8') as fo:
fo.writelines(lines)
写入后的 output.txt
文件内容将是:
张三,18,5000
李四,20,6000
结合示例
以下示例展示如何使用 fi.readlines()
读取文件内容并使用 fo.writelines()
写回文件:
# 读取文件内容
with open('input.txt', 'r', encoding='utf-8') as fi:
lines = fi.readlines()
# 打印读取的内容
print("读取的内容:", lines)
# 写入文件内容
with open('output.txt', 'w', encoding='utf-8') as fo:
fo.writelines(lines)
总结
fi.readlines()
: 从文件中读取所有行并返回一个列表。fo.writelines()
: 将一个字符串列表写入文件,每个元素作为一行写入。
通过这两个方法,我们可以实现从文件中读取多行文本并将其写回文件,操作简便且逻辑清晰。