Python:如何在我的匹配模式之前添加一行

标签 python

我总是在模式 </IfModule> 之前附加新行。 我怎样才能用 Python 完成这个任务。

仅供引用,我的文件不是使用 lxml/元素树的 XML/HTML。 IfModule是我的 .htaccess 的一部分文件

我的想法是反转文件并搜索模式,如果找到则在其后面添加我的行。不太确定如何继续。

最佳答案

通读文件,当你找到你应该输出的行时,先输出一些内容,然后输出原始行。

with open('.htaccess') as fin, open('.htaccess-new', 'w') as fout:
    for line in fin:
        if line.strip() == '</IfModule>':
            fout.write('some stuff before the line\n')
        fout.write(line)

就地更新文件:

import fileinput

for line in fileinput.input('.htaccess', inplace=True):
    if line.strip() == '</IfModule>':
        print 'some stuff before the line'
    print line,

关于Python:如何在我的匹配模式之前添加一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16855561/

相关文章:

python - 在运行时分配变量?

python - 如何将字符串中的文字转义序列转换为相应的字节?

用于下载 Python3 Flask 生成的 ZipFile 的 Javascript 按钮

python - 请求异常.HTTPError : 401 Client Error atlassian-python-api

python - 在字符串中逐个字符并使用 python 交换空格

python - 如何访问 Odoo docker 容器镜像中的 Odoo 源代码?

python - 如何从标准输入读取?

python - 无法从 beautifulsoup 正确打印组合表

python - 使用 nbconvert 执行包含内联 Markdown 的 Jupyter 笔记本

python - Pandas 如何不适用于整列