чтение файла в python - PullRequest
       59

чтение файла в python

1 голос
/ 15 марта 2011

Мне нужно прочитать файл, как показано ниже:

config = {
    'name': 'hello',
    'see?': 'world'
}

, используя ключи, такие как name, и видите?, но я не хочу жестко кодировать значения в скрипте. И как справиться с более глубоким вложением в этом случае. Файл может содержать больше таких разделов, как этот, как я могу узнать, какое «имя» принадлежит какому разделу во время выполнения.

Ответы [ 4 ]

4 голосов
/ 15 марта 2011

Если вы кодируете свою структуру как данные JSON, как я думаю, вы хотите, и вы это сделали в примере, вам просто нужно написать и прочитать структуру в файле.Например:

 import json 
 config = {
  'name': 'hello',
  'see?': 'world'
 }
 out = open('config.json','w')
 out.write(json.dumps(config))
 out.close() 

Файл конфигурации сохранен

 input = open('config.json','r')
 config = json.loads(input.read())
 input.close()
 print config

Файл конфигурации перезагружен

3 голосов
/ 15 марта 2011

Этот файл выглядит как действительный питон.Если вы можете переименовать его file.py Вы можете просто использовать:

from file import config
print config['name']
print config['see?']

В противном случае файл может быть JSON.Смотри http://docs.python.org/library/json.html

1 голос
/ 15 марта 2011

Похоже, вы хотите файл конфигурации?Формат уже определен или вы его создаете?Если вам просто нужно прочитать параметры из файла, есть:

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

, который обрабатывает формат INI.Если у вас уже есть файл в указанном выше формате, можете ли вы определить, является ли он форматом JSON?Если так, то для этого тоже есть модуль.

0 голосов
/ 15 марта 2011

Похоже, что ваш формат конфигурации является допустимым python или JSON, который имеет встроенный синтаксический анализатор в python.См. http://docs.python.org/library/json.html для получения дополнительной информации.Если вы пытаетесь импортировать правильный файл Python в качестве конфигурации, просто используйте import.

...