首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中的特定行处追加或移除文件中的某些文本

问在Python中的特定行处追加或移除文件中的某些文本
EN

Stack Overflow用户
提问于 2011-12-31 15:23:52
回答 2查看 2K关注 0票数 2

我想在python脚本中编辑Apache2配置文件。我想在ServerAlias指令中添加或删除一个域名,因此该脚本需要编辑一个特定的文件,搜索以"ServerAlias“开头的行,并在该行后面附加或删除一个特定的域名。

我不确定该怎么做,文档中的任何提示都将不胜感激,我还在考虑使用子进程来使用一些bash工具,比如sed。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-31 15:37:57

交易时需要的几个工具

  1. str.startswith
  2. str.join或仅读取文件sequentially
  3. Offcourse opening and closing a file
  4. write a file

的字符串concatination)

票数 0
EN

Stack Overflow用户

发布于 2011-12-31 18:04:35

您可以将fileinput.input与inplace模式一起使用:

代码语言:javascript
复制
import fileinput

for line in fileinput.input("mifile", inplace=True):
    if line.startswith("ServerAlias"):
        line = doherewhatyouwant(line)
    print line,

来自文档:

如果将关键字参数inplace=True传递给fileinput.input()或FileInput构造函数,则文件将移动到备份文件中,并且标准输出将定向到输入文件(如果已存在与备份文件同名的文件,则将以静默方式替换该文件)。这样就可以编写一个过滤器,在适当的位置重写它的输入文件。如果给定了backup参数(通常为backup='.'),它将指定备份文件的扩展名,并且备份文件将保留;默认情况下,该扩展名为'.bak‘,并在关闭输出文件时将其删除。当读取标准输入时,将禁用就地过滤。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8686941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档