Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 4, 2014 16:09:17

darksmoke
Зарегистрирован: 2014-10-03
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

SyntaxError: EOL while scanning string literal

Почему так происходит? как это исправить?

    if logstash_input_type == 'rabbitmq':
        config = 'input {         
                rabbitmq {
                    durable => true
                    password => '+ rabbitmq_password +'
                    port => 5672
                    queue =>  '+ rabbitmq_queue +' 
                    threads => '+ cpu-minus-odin +' 
                    user => '+ rabbitmq_user +'
                }
            }'
run('echo -e "'+ config +'" >'+ install_path +'/logstash/logstash.conf')
config = 'input {
^
SyntaxError: EOL while scanning string literal

Офлайн

#2 Ноя. 4, 2014 16:37:39

alexsis
Зарегистрирован: 2013-07-26
Сообщения: 148
Репутация: +  9  -
Профиль   Отправить e-mail  

SyntaxError: EOL while scanning string literal

config = """input {         
                rabbitmq {
                    durable => true
                    password => '+ rabbitmq_password +'
                    port => 5672
                    queue =>  '+ rabbitmq_queue +' 
                    threads => '+ cpu-minus-odin +' 
                    user => '+ rabbitmq_user +'
                }
            }"""

Отредактировано alexsis (Ноя. 4, 2014 16:38:48)

Офлайн

#3 Ноя. 4, 2014 17:39:36

darksmoke
Зарегистрирован: 2014-10-03
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

SyntaxError: EOL while scanning string literal

А как переменнуэ вставить?

Traceback (most recent call last):
File “/usr/local/lib/python2.7/dist-packages/fabric/main.py”, line 743, in main
*args, **kwargs
File “/usr/local/lib/python2.7/dist-packages/fabric/tasks.py”, line 384, in execute
multiprocessing
File “/usr/local/lib/python2.7/dist-packages/fabric/tasks.py”, line 274, in _execute
return task.run(*args, **kwargs)
File “/usr/local/lib/python2.7/dist-packages/fabric/tasks.py”, line 174, in run
return self.wrapped(*args, **kwargs)
File “/home/darksmoke/Soft/fabfile.py”, line 66, in logstashinstall
user => “”“+ rabbitmq_user +”“”
TypeError: cannot concatenate ‘str’ and ‘function’ objects

        config = """input {         
                rabbitmq {
                    durable => true
                    password => """+ rabbitmq_password +"""
                    port => 5672
                    queue =>  """+ rabbitmq_queue +"""
                    threads => """+ cpu_minus_odin +"""
                    user => """+ rabbitmq_user +"""
                }
            }"""

Офлайн

#4 Ноя. 4, 2014 18:39:48

alexsis
Зарегистрирован: 2013-07-26
Сообщения: 148
Репутация: +  9  -
Профиль   Отправить e-mail  

SyntaxError: EOL while scanning string literal

Похоже, что rabbitmq_user - функция. Попробуйте ее вызвать.

Офлайн

#5 Ноя. 5, 2014 09:27:45

darksmoke
Зарегистрирован: 2014-10-03
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

SyntaxError: EOL while scanning string literal

В продолжение темы. Подскажите в чем бок?

def cpu_minus_odin():
    c = run("lscpu | grep -E '^CPU\(s\)' | awk '{print $2}'")
    i = int(c)
    s = i-1
    r = str(s)
    return r
    
использую так
 config = """input {
              redis {
                host => """+ redis_host +"""
                password => """+ redis_password + """
                port => 6379
                threads => """+ cpu_minus_odin +"""
              }
            }"""
Ошибка
Traceback (most recent call last):
File “/usr/local/lib/python2.7/dist-packages/fabric/main.py”, line 743, in main
*args, **kwargs
File “/usr/local/lib/python2.7/dist-packages/fabric/tasks.py”, line 384, in execute
multiprocessing
File “/usr/local/lib/python2.7/dist-packages/fabric/tasks.py”, line 274, in _execute
return task.run(*args, **kwargs)
File “/usr/local/lib/python2.7/dist-packages/fabric/tasks.py”, line 174, in run
return self.wrapped(*args, **kwargs)
File “/home/darksmoke/Soft/fabfile.py”, line 75, in logstashinstall
threads => “”“+ cpu_minus_odin +”“”
TypeError: cannot concatenate ‘str’ and ‘function’ objects
Disconnecting from 10.56.0.5… done.

Офлайн

#6 Ноя. 5, 2014 09:46:27

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

SyntaxError: EOL while scanning string literal

Написано же- вы к строке хотите функцию присоединить. Вам нужна не сама функция, а то, что она возвращает, для этого ее нужно вызвать - дописать скобочки () в конце имени функции (с аргументами или без, в зависимости от требований самой функции)

Офлайн

#7 Ноя. 5, 2014 09:54:26

darksmoke
Зарегистрирован: 2014-10-03
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

SyntaxError: EOL while scanning string literal

dimy44
Спасибо большое, доступно и понятно.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version