2011-04-30 104 views
0

我有一些配置linux电脑的python脚本。其中一项任务是修改配置文件进行颠覆。此文件,~/.subversion/servers是非常简单的,看起来像这样:python修改linux配置文件最简单的方法是什么?

# store-passwords = no 
# store-plaintext-passwords = no 
# store-ssl-client-cert-pp = no 
# store-ssl-client-cert-pp-plaintext = no 
... lots of other options ... 

我的剧本的任务是找到一个必需的选项,例如store-plaintext-passwords并将其设置为指定的值,例如yes。问题是:脚本可以在同一台机器上运行多次,所以如果它第一次运行,这个选项可以被注释掉,如果第二次运行,它可以被取消注释并设置为yes,第三次运行可以指出它是取消注释 - 但设置为no等。目前我有一个相当复杂的代码,搜索文件的字符串,拆分它的评论/名称/值,取消注释它,如果需要,更改值,如果需要并替换它。也许这是一个更简单的方法吗?

回答

2

〜/ .subversion/servers文件采用INI格式。

所以你可以使用ConfigParser来实现你需要的任何东西。

http://docs.python.org/library/configparser.html

+0

ConfigParser很好 - 但它会如何处理注释?我不需要将结果文件去掉所有注释的字段^ _^ – grigoryvp 2011-04-30 15:03:30

+0

没有人关心自动生成或操作文件中的注释 – 2011-04-30 15:19:40

+0

@Eye of Hell - ConfigParser支持'#'和';'样式注释。所以你很乐意去这里。它不会剥夺评论。 – 2011-04-30 15:39:46

相关问题