【发布时间】:2020-10-17 14:56:33
【问题描述】:
我有一个 config.ini 文件,我正在尝试删除我的 config.ini 文件部分中的特定值。我基本上想删除列表中的索引。 config.ini 文件是:
[INPUT]
intervals = [[4000, 6000], [25000, 55000]]
比如我想删除[4000, 6000],这样新的config.ini文件就变成了:
[INPUT]
intervals = [[25000, 55000]]
我的代码在下面有两个功能,一个是导入 config.ini (load_args()) 的内容,另一个是删除 config.ini 的一部分 (delete_args())。删除功能基于对How to remove a section from an ini file using Python ConfigParser?的回答
import configparser
import ast
def load_args():
config = configparser.ConfigParser()
config.read('config.ini')
interval = ast.literal_eval(config['INPUT']['intervals'])
print(interval)
load_args()
def delete_args():
config = configparser.ConfigParser()
with open('config.ini', 'r+') as s:
config.readfp(s)
config.remove_section('INPUT')
s.seek(0)
config.write(s)
s.truncate()
interval = ast.literal_eval(config['INPUT']['intervals'])
print(interval)
delete_args()
上面的当前delete_args() 函数会删除config.ini 中的所有内容。我知道delete_args() 需要一种方法来在 config.ini 中找到值 [4000, 6000],所以我想知道是否可以将 [4000, 6000] 作为参数到delete_args(),然后找到[INPUT]部分,并在intervals中找到指定的间隔([4000, 6000])并将其删除。
【问题讨论】:
标签: python config ini configparser