Как поместить строку соединений mongodb в файл конфигурации и вызвать это в python [duplicate]

Вы можете использовать этот скрипт .

*! > input[type=text] { background: #000; }

Это позволит выбрать любого родителя текстового ввода. Но подождите, еще многое. Если вы хотите, вы можете выбрать указанного родителя:

.input-wrap! > input[type=text] { background: #000; }

или выбрать его, когда он активен:

.input-wrap! > input[type=text]:focus { background: #000; }

Посмотрите этот HTML:

Your name sir

вы можете выбрать span.help, когда активен input и показать его:

.input-wrap! .help > input[type=text]:focus { display: block; }

Есть еще много возможностей; просто проверьте документацию плагина.

BTW, он работает в IE.

227
задан Caleb Huitt - cjhuitt 2 November 2016 в 17:59
поделиться

4 ответа

Выбранная конфигурация образца действительно действительна YAML . Фактически, YAML отвечает всем вашим требованиям, реализуется на большом количестве языков и очень дружелюбен для людей. Я настоятельно рекомендую вам использовать его. Проект PyYAML обеспечивает хороший модуль python, который реализует YAML.

Использование модуля yaml чрезвычайно просто:

import yaml
config = yaml.safe_load(open("path/to/config.yml"))
104
ответ дан Alan W. Smith 19 August 2018 в 09:31
поделиться
  • 1
    Ямль - это всегда то, к чему я обращаюсь; формат может быть от мертвого до поддержки встроенного кода python, а стандартная библиотека делает тяжелый подъем синтаксического анализа и санитарии для вас. – Todor 10 October 2015 в 05:56
  • 2
    Согласовано. Для вас или пользователей, пишущих YAML, здесь самая лучшая ссылка YAML, которую я знаю о . Официальная документация , к сожалению, является спецификацией, нацеленной на исполнителей, и ничего больше, но руководство Eevee является фантастическим. – Esteis 29 January 2016 в 14:33

Yaml и Json являются простейшими и наиболее часто используемыми форматами файлов для сохранения настроек / конфигурации. PyYaml можно использовать для анализа yaml. Json уже является частью python от версии 2.5. Ямль - это надмножество Джсона. Json решит большинство случаев использования, за исключением многострочных строк, в которых требуется экранирование. Ямль также заботится об этих случаях.

>>> import json
>>> config = {'handler' : 'adminhandler.py', 'timeoutsec' : 5 }
>>> json.dump(config, open('/tmp/config.json', 'w'))
>>> json.load(open('/tmp/config.json'))   
{u'handler': u'adminhandler.py', u'timeoutsec': 5}
39
ответ дан Anoop 19 August 2018 в 09:31
поделиться

У вас может быть обычный Python-модуль, например config.py, например:

truck = dict(
    color = 'blue',
    brand = 'ford',
)
city = 'new york'
cabriolet = dict(
    color = 'black',
    engine = dict(
        cylinders = 8,
        placement = 'mid',
    ),
    doors = 2,
)

и использовать его так:

import config
print config.truck['color']  
170
ответ дан Koterpillar 19 August 2018 в 09:31
поделиться
  • 1
    Это довольно плохая идея, как если бы вы разрешали пользователям с низким уровнем привилегий изменять только файлы конфигурации, таким образом, вы, по сути, позволяете им скрываться в привилегированном коде. – nikolay 28 June 2012 в 00:17
  • 2
    Разрешение "низкоприоритетных" пользователи, чтобы изменить конфигурацию для более привилегированной программы, вероятно, являются сомнительной установкой. – XTL 12 December 2012 в 15:36
  • 3
    Вы также можете столкнуться с проблемами упаковки своего проекта для развертывания с помощью такого инструмента, как py2app. Пользователь может не иметь возможности редактировать файл конфигурации после его распространения, так как это приведет к аннулированию подписи приложения. – bschwagg 17 January 2015 в 19:40
  • 4
    Основным недостатком этого (в противном случае очень удобного варианта) является то, что файлы .py являются исполняемыми, поэтому любой код может быть запущен при попытке загрузить конфигурацию через import. Это неприемлемо с точки зрения безопасности. – Apalala 10 February 2016 в 00:18
  • 5
    Невозможно ли выполнить эту версию с помощью ast.literal_eval? docs.python.org/3/library/ast.html#ast.literal_eval – André Christoffer Andersen 2 September 2016 в 21:49

Я нашел это наиболее полезным и простым в использовании https://wiki.python.org/moin/ConfigParserExamples

Вы просто создаете «myfile.ini», как :

[SectionOne]
Status: Single
Name: Derek
Value: Yes
Age: 30
Single: True

[SectionTwo]
FavoriteColor=Green
[SectionThree]
FamilyName: Johnson

[Others]
Route: 66

И получить данные типа:

>>> import ConfigParser
>>> Config = ConfigParser.ConfigParser()
>>> Config
<ConfigParser.ConfigParser instance at 0x00BA9B20>
>>> Config.read("myfile.ini")
['c:\\tomorrow.ini']
>>> Config.sections()
['Others', 'SectionThree', 'SectionOne', 'SectionTwo']
>>> Config.options('SectionOne')
['Status', 'Name', 'Value', 'Age', 'Single']
>>> Config.get('SectionOne', 'Status')
'Single'
55
ответ дан Maviles 19 August 2018 в 09:31
поделиться
  • 1
    Для Python 3 вместо этого используйте configparser модуль (все строчные буквы) – Roland 7 February 2018 в 08:14
  • 2
    Это самое быстрое, ясное и простое решение, поскольку реализация не выполняется, а просто используется. :) Спасибо! – Casper 1 April 2018 в 19:30
Другие вопросы по тегам:

Похожие вопросы: