У меня есть файл 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()
). Функция удаления основана на ответе на Как удалить раздел из ini-файла с помощью 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()
нужен способ найти значение [4000, 6000]
в config.ini, поэтому мне было интересно, можно ли передать [4000, 6000]
в качестве аргумента в delete_args()
, который затем находит раздел [INPUT]
и находит указанный интервал ([4000, 6000]
) в пределах intervals
и удаляет его.