У меня есть скрипт python 2.7 на Ubuntu 12.04, используя локальные команды Fabric, которые он получает из текстового файла. Когда я пытаюсь использовать однострочный вкладыш с полуколонами в нем, Fabric не разбирает строку и не разбивается. Есть ли синтаксис, который работает, или я должен искать в другом месте для запуска этой команды?Как Python печатать строку из файла конфигурации, содержащего полуколоны?
--------- редактировать -----------
более краткое изложение проблемы, чем фактическое одно первоначально включены. Речь идет не о ткани на всех, даже печать не будет работать с этим текстом в конфигурационном файле:
питон конфигурационный файл:
[firmware-jobs] 1: echo ".... ; ....." > /tmp/tmp-file
питон файл с Ткань:
from ConfigParser import SafeConfigParser confparser = SafeConfigParser() confparser.read(CONFFILE)
for (key, command) in CONFOBJ.items('firmware-jobs'): try: print command
------ конец редактировать -----------
if grep -q "CPLD " tmp-file ; then echo "y" | <some long command> ; fi
Я попытался:
"if grep -q "CPLD " tmp-file ; then echo "y" | <some long command> ; fi"
if grep -q "CPLD " tmp-file '\;' then echo "y" | <some long command> '\;' fi
if grep -q "CPLD " tmp-file ";" then echo "y" | <some long command> ";" fi
типичный отказ:
[localhost] local: "if grep -q "CPLD " tmp-file
/bin/sh: 1: Syntax error: Unterminated quoted string
Fatal error: local() encountered an error (return code 2) while executing '"if grep -q "CPLD " tmp-file'
требования:
Я не хочу, чтобы переместить условную в Python, так как текст файл поддерживает общий скрипт Python для разных аппаратных платформ ормы и выпуски.
Nope Amber, не работает с тройными одинарными кавычками. Python читает это из текстового файла, он, кажется, входит в одну кавычку вокруг всего. Я попробовал две одиночные кавычки и три, и одинарные кавычки вокруг полуколоней ... –
А, ладно. Вы пробовали сингл '\' перед точкой с запятой без кавычек? Если это не сработает, попробуйте ли вы двойную косую черту (\\;)? – Amber
попытался: ''; ";'; \\; ';' '; с и без' 'вокруг цельной строки. –