for line in reversed(open("filename").readlines()):
print line.rstrip()
И в Python 3:
for line in reversed(list(open("filename"))):
print(line.rstrip())
Если Ваши значения hardcoded являются просто простыми парами "ключ-значение", необходимо посмотреть java.util. Свойства . Это намного более просто, чем xml, легче использовать, и отупляющим образом тривиальный для реализации.
, Если Вы работаете с Java и данными, Вы храните или получаете от диска, смоделирован как пара значения ключа (который это кажется, что находится в Вашем случае), тогда я действительно не могу вообразить лучшее решение.
я использовал файлы свойств для простой конфигурации небольших пакетов в большем проекте, и как более глобальная конфигурация для целого проекта, и у меня никогда не было проблем с нею.
, Конечно, это обладает огромным преимуществом не требования, чтобы любые сторонние библиотеки использовали.
Я записал об этом несколько недель назад и пришел к выводу, что XML является одной из наиболее широко используемых нотаций.
действительно ли это является лучшим? Я не думаю так, я действительно как JSON, но инструменты все еще не до XML, таким образом, я предполагаю, что мы должны ожидать и видеть.
Если Вы хотите сделать что-то усовершенствованное (и безопасный с точки зрения типов), Вы могли бы хотеть смотреть на это: http://www.ibm.com/developerworks/java/library/j-configint/index.html
Мы используем это. Одни только файлы свойств намного легче обработать, но если необходимо представить более сложную конфигурацию свободного городского населения данных, может сделать это и считать файлы свойств также.
, Если бы Вы ничего не делаете, усложнил, я придерживался бы properites файлов.
Apache Конфигурация палаты общин работает отлично. Это поддерживает хранение конфигурации в широком спектре форматов на бэкенде включая свойства, XML, JNDI, и т.д. Это просто в использовании и расширяться. Для вытаскивания наибольшей гибкости из него используют фабрика , чтобы получить конфигурацию и просто использовать Интерфейс конфигурирования после этого.
Две функции Конфигурации палаты общин, которые дифференцируют его по прямому файлу Свойств, - то, что это поддерживает автоматическое преобразование в общие типы (интервал, плавание, Массивы строк), и это поддерживает замену свойства:
server.host=myHost
server.url=http://${server.host}/somePath
Я склонен использовать java.util.Properties
(или подобные классы на других языках и платформах) обернутый в класс специфичной для приложений конфигурации большую часть времени, но я очень интересуюсь альтернативами или изменениями на этом. Тем более, что вещи могут стать немного хитрыми, если графические диалоговые окна конфигурации или несколько представлений о данных конфигурации включены.
, К сожалению, у меня нет опыта с определенными библиотеками для Java (кроме с теми, я записал меня), но любые указатели ценились бы.
Обновление
хорошо. Это не было совершенно верно, три Проект .
Конфигурации Java SpringФайлы свойств очень простые, если вам нужно что-то более функциональное , вы можете отформатировать некоторые файлы конфигурации как классы Java. Они могут быть помещены в другой пакет / модуль и могут быть предварительно скомпилированы или загружены во время выполнения с помощью такой библиотеки, как BeanShell.
Примечание: в простейшем случае (предварительно скомпилированный) вы не
Что касается предложений по использованию java.util.Properties - начиная с jdk 1.5, предпочтительной альтернативой использованию API предпочтений (java.util.prefs) является API свойств.
Причины: повышенная масштабируемость, нейтралитет серверной части и т. Д.
Вот несколько вариантов:
Вы можете прочитать Сравнение конфигурации Commons с JFig и JConfig и Настройка ваших приложений с использованием JFig для получения отзывов от различных пользователей.
] Лично я использовал jConfig, и это был хороший опыт.
Вы можете попробовать YamlBeans. Таким образом, вы записываете любые классы, в которых хотите хранить ваши конфигурационные данные, затем вы можете автоматически записывать и читать их на YAML и из YAML.
YAML - это человеческий формат читаемых данных. Он обладает большей выразительной способностью, чем java.util.Properties. Вы можете иметь списки, карты, якоря, типизированные данные и т.д.
.Пожалуйста, посмотрите на этот URL: http://issues.apache.org/jira/browse/CONFIGURATION-394
Структура конфигурации, которую мы ищем, это что-то поверх Apache Commons Configuration и должна поддерживать Concurrency Issues, JMX issues и большинство хранилищ (например, .properties file, .xml files или PreferencesAPI).
То, что команда weblogic предоставляет в 'Administration Console', интересно тем, что через нее вы можете иметь транзакционные (атомарные) обновления конфигураций так, что зарегистрированные слушатели будут уведомлены.
Ребята из Apache настаивают на том, что этот проект выходит за рамки Commons Configuration, возможно!
Я приложил простой фреймворк конфигурации, посмотрите, пожалуйста.
Я только что опубликовал небольшой фрагмент кода об использовании Spring ClassPathResource в качестве альтернативы IoC. ClassPathResource позволяет размещать файлы свойств в любом месте пути к классам (например, все в одном месте или как одноранговые узлы для кода, который они настраивают. В моем примере просто используется java.util.Properties, поэтому вы можете использовать стиль открытого текста "name = value" или его формат XML.