当前位置: 首页 > 面试题库 >

在Python中搜索并替换文件中的一行

冷英博
2023-03-14
问题内容

我想遍历文本文件的内容,进行搜索并替换某些行,然后将结果写回到文件中。我可以先将整个文件加载到内存中,然后再写回去,但这可能不是最好的方法。

在以下代码中,执行此操作的最佳方法是什么?

f = open(file)
for line in f:
    if line.contains('foo'):
        newline = line.replace('foo', 'bar')
        # how to write this newline back to the file

问题答案:

我想类似的事情应该做。它基本上将内容写入新文件,并用新文件替换旧文件:

from tempfile import mkstemp
from shutil import move, copymode
from os import fdopen, remove

def replace(file_path, pattern, subst):
    #Create temp file
    fh, abs_path = mkstemp()
    with fdopen(fh,'w') as new_file:
        with open(file_path) as old_file:
            for line in old_file:
                new_file.write(line.replace(pattern, subst))
    #Copy the file permissions from the old file to the new file
    copymode(file_path, abs_path)
    #Remove original file
    remove(file_path)
    #Move new file
    move(abs_path, file_path)


 类似资料:
  • 问题内容: 如何使用Python 3搜索和替换文件中的文本? 这是我的代码: 输入文件: 当我在上面的输入文件中搜索并将“ ram”替换为“ abcd”时,它起了一种魅力。但是,反之亦然,即用“ ram”替换“ abcd”时,一些垃圾字符会保留在末尾。 用“ ram”代替“ abcd” 问题答案: fileinput已经支持就地编辑。stdout在这种情况下,它将重定向到文件:

  • 我在从Blogger导入图片到Wordpress时遇到了一个问题,不知怎的,我的内联帖子内容图片使用了所有中等大小的尺寸,这些尺寸太小了。 我尝试在Wordpress媒体设置中调整中等大小的尺寸,然后运行“重新生成缩略图”插件,但由于某些原因,我的博客导入帖子中的图像仍然太小(使用旧的中等大小图像尺寸)。 我一直在想办法解决这个问题,我认为最简单的方法就是在帖子内容中搜索并替换任何有尺寸标注的图像

  • 问题内容: 在表的一个特定字段中将进行文本搜索和替换的是哪种MySQL查询? 即搜索并替换为具有值的字段的记录变为。 问题答案: 更改并匹配您的表名和相关字段: 替换(字符串函数) INSTR(字符串函数)

  • 问题内容: 如何在文本文件中搜索关键短语或关键字,然后打印该关键短语或关键字所在的行? 问题答案: 打印出多行(以一种简单的方式) 逗号防止输出中出现多余的空格。尾随的打印语句将结果划分为不同的行。 或者更好(从Mark Ransom偷回来):

  • 本文向大家介绍Python替换文件中的文本,包括了Python替换文件中的文本的使用技巧和注意事项,需要的朋友参考一下 例子            

  • 本文向大家介绍python实现的用于搜索文件并进行内容替换的类实例,包括了python实现的用于搜索文件并进行内容替换的类实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python实现的用于搜索文件并进行内容替换的类。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Python程序设计有所帮助。