Python实现修改文件内容的方法分析
在Python中,可以利用内置的open
函数和文件读写模式来实现对文件内容的修改,常见的做法有以下几种。
方法一:利用with语句和文件对象的write方法
with open('file.txt','r+') as f:
text = f.read()
text = text.replace('old', 'new')
f.seek(0)
f.write(text)
with open() as f
语句块打开文件,自动关闭文件句柄。r+
参数给文件句柄添加读写权限。f.read()
方法读取整个文件的内容。f.seek(0)
将文件指针移动到文件开头。f.write(text)
将修改后内容写入文件。
方法二:使用标准库fileinput模块
import fileinput
for line in fileinput.input('file.txt', inplace=True):
line = line.replace('old', 'new')
print(line, end='')
import fileinput
导入标准库fileinput模块。fileinput.input()
函数打开指定文件并返回一个迭代器,用于遍历文件的每一行。inplace=True
参数表示直接修改文件,而不是输出到标准输出流。line.replace('old', 'new')
替换每一行中的内容。print(line, end='')
输出替换后的内容。
以上两种方法的区别在于第一种方法是先读取完整个文件的内容,然后再将修改后的内容一次性写回文件。而第二种方法则是按行读取文件,边读边修改,再将修改后的内容直接写回文件。
示例:
假设有一个文本文件file.txt,内容为:
Hello Python!
Python is a popular programming language.
现在我们想把所有的Python改成Java,可以使用方法一:
with open('file.txt','r+') as f:
text = f.read()
text = text.replace('Python', 'Java')
f.seek(0)
f.write(text)
或者使用方法二:
import fileinput
for line in fileinput.input('file.txt', inplace=True):
line = line.replace('Python', 'Java')
print(line, end='')
两种方法的输出结果都为:
Hello Java!
Java is a popular programming language.
以上是Python实现修改文件内容的方法分析的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python实现修改文件内容的方法分析 - Python技术站