使用Python编辑系统特定配置文件的最简单和最好的方法是什么?

时间:2014-04-18 22:06:16

标签: python regex configuration config

如何使用Python编辑系统配置文件,并遵循以下规范

  1. 它不应该改变配置项的格式
  2. 我们不应该编辑评论的配置项
  3. 如果该配置项不存在,则应添加条目
  4. **到目前为止,我已使用正则表达式实现此目的,但我面临一些格式化问题,最终我更改了注释的配置项。 **

    def change_config(key, value):
        with open("/etc/sysctl.conf", "r+") as f:
                content = f.read()
                if key in content:
                    for line in fileinput.input("/etc/sysctl.conf", inplace=1):
                        line = re.sub(r''+key+'=\d', key+'='+value, line.rstrip())
                        print line
                else:
                    f.write(key+"="+value+"\n")
    

    配置文件如下所示

    default:
        fsize = 2097151
        core = 2097151
        cpu = -1
        data = 262144
        rss = 65536
        stack = 65536
        nofiles = 2000
    

    或有时没有这样的意图

      fsize = 2097151
      core = 2097151
      cpu = -1
      data = 262144
    

    请帮我改进相同的代码。我不应该使用像PythonConfigParser之类的库。

1 个答案:

答案 0 :(得分:0)

您可以查看python configparser shootout或仅查看python configparser