Есть ли еще более удобный способ записи в файлы python, чем использование чтения/записи для любого файла (например, файлы txt и т. Д.).Python - запись в файлы python?
Я имею в виду, что python знает, что на самом деле представляет собой структуру файла python, поэтому, если мне нужно записать в нее, возможно, есть еще более удобный способ сделать это?
Если нет такой способ (или это слишком сложно), то, что будет лучший способ обычно изменить файл питона только с помощью обычного write
(пример ниже)?
У меня есть много этих файлов в моих подкаталогов называется:
__config__.py
Эти файлы используются в качестве конфигурации. И у них есть незадействованный словарь питона, например:
{
'name': 'Hello',
'version': '0.4.1'
}
Так что мне нужно сделать, это написать для всех тех, кто __config__.py
файлов новой версии (например, 'version': '1.0.0'
).
Update
Чтобы быть более конкретным, учитывая, что есть питон файл с содержанием, как это:
# Some important comment
# Some other important comment
{
'name': 'Hello',
'version': '0.4.1'
}
# Some yet another important comment
Теперь работает некоторый питон скрипт, он должен написать в файл питон модифицирующим дал словарь и после записи, вывод должен быть таким:
# Some important comment
# Some other important comment
{
'name': 'Hello',
'version': '1.0.0'
}
# Some yet another important comment
Так, другими словами, писать следует o nly изменить version
ключевое значение, и все остальное должно быть сохранено, как было до написания.
поскольку контент - это словарь, возможно, вы можете превратить его в json и сделать 'json.dump()'? – scarecrow
Ну, вы можете ['literal_eval()'] (https://docs.python.org/3/library/ast.html#ast.literal_eval) литералы python, которые содержатся в вашем файле. Тем не менее, запись в симпатичном формате. Может быть, [pprint] (https://docs.python.org/3/library/pprint.html) может помочь. –
Возможно, это может быть полезно? http://stackoverflow.com/questions/768634/parse-a-py-file-read-the-ast-modify-it-then-write-back-the-modified-source-c – Jaxian