Python configparser Добавить - PullRequest
       40

Python configparser Добавить

0 голосов
/ 07 апреля 2020

Есть ли способ добавить значения в файл конфигурации, используя configparser?

[DEFAULT]
ServerAliveInterval = 45
Compression = yes
CompressionLevel = 9
ForwardX11 = yes
message = first run, second run, third run

Я хочу добавить значение сообщения, как показано ниже

message = first run, second run, third run, fourth run.

Возможно ли это, кто-нибудь может помочь?

Ответы [ 2 ]

1 голос
/ 07 апреля 2020

Возможно ли это, кто-нибудь может помочь?

Да, просто проанализируйте ваш файл , объедините дополнительные биты с записью, которую вы хотите изменить, и записать обратно ?

ConfigParser не имеет структуры, кроме разделов и элементов, поэтому записи являются просто произвольными строковыми данными. Если вы хотите что-то более структурированное (например, иметь записи, например, массивы), вы должны использовать что-то вроде toml, тогда вы могли бы добавлять отдельные элементы к записи вместо необходимости выполнять строковое объединение.

1 голос
/ 07 апреля 2020

Обратите внимание, что configparser не поддерживает редактор файлов; он читает конфигурацию из файла и записывает конфигурацию в файл. Любые изменения в конфигурации вносятся в память до тех пор, пока вся конфигурация не будет снова записана.

# Read into memory
config = configparser.ConfigParser()
with open("config.ini") as f:
    config.read_file(f)

# Update the in-memory configuration
config["DEFAULT"]["message"] +=", fourth run"

# Write configuration to disk
# WARNING: You should write to a temporary file first,
# so that you can safely replace config.ini after
# the write succeeds.
with open("config.ini", "w") as f:
     config.write(f)
...