Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 1, 2015 17:04:26

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

Передача многострочного параметра в функцию

Добрый день
Подскжите, пожалуйста, как передать в функцию многострочную переменную

def test(jdbc_new):
    if jdbc_new.strip() == '':
        print yellow('1.txt not use. It is normal =)')
    else:
        run('echo -e "'+ jdbc_new +'" >> '+ resin_path  +'/1.txt')
Хочу передать такую строку
вввввв
вввв=3333
уууу=1111
http//

Офлайн

#2 Дек. 1, 2015 17:10:56

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Передача многострочного параметра в функцию

За год изучения языка вы не освоили концепцию коллекций?



Офлайн

#3 Дек. 1, 2015 17:20:33

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

Передача многострочного параметра в функцию

К сожалению, я немного учу, по мере необходимости.

Офлайн

#4 Дек. 1, 2015 17:22:38

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

Передача многострочного параметра в функцию

подскажите, как реализовать или что читать

Офлайн

#5 Дек. 1, 2015 17:23:10

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Передача многострочного параметра в функцию

Хорошо, давайте по порядку. Чем “многострочная переменная” отличается от однострочной и почему вообще у вас вдруг возник вопрос. Вы пробовали передавать “многострочную переменную” в функцию? Каков результат был?



Офлайн

#6 Дек. 1, 2015 17:26:41

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

Передача многострочного параметра в функцию

Пробовал, вот что пишет

/sybase/jenkins_cat/Fabric/python/bin/fab -H 10.1.108.110 'update_war:resin_path=/opt/resin_slave,backup_dir=/opt/backup,local_path=/opt/scripts/P24j,jdbc_new=http://site.ruc:8070/jenkins/job/ADMIN.New_Ukraine_AS/build?delay=0sec http://jenkins.p24.it.loc:8070/jenkins/job/ADMIN.New_Ukraine_AS/build?delay=0sec http://jenkins.p24.it.loc:8070/jenkins/job/ADMIN.New_Ukraine_AS/build?delay=0sec http://jenkins.p24.it.loc:8070/jenkins/job/ADMIN.New_Ukraine_AS/build?delay=0sec'

Traceback (most recent call last):
File “/sybase/jenkins_cat/Fabric/python/lib/python2.7/site-packages/fabric/main.py”, line 700, in main
commands_to_run = parse_arguments(arguments)
File “/sybase/jenkins_cat/Fabric/python/lib/python2.7/site-packages/fabric/main.py”, line 536, in parse_arguments
k, v = result
ValueError: too many values to unpack

Офлайн

#7 Дек. 1, 2015 17:28:21

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Передача многострочного параметра в функцию

показывайте весь код



Офлайн

#8 Дек. 1, 2015 17:30:32

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

Передача многострочного параметра в функцию

@task
#@parallel(pool_size=2)
def update_war(resin_path,backup_dir,local_path,jdbc_new):
    """
    - Update war file on instance. fab -R [ plateg | vipiski | vip | msb | all ] update_war:Path to resin, Path to backup folder, Path to local war file
    """
    run('mkdir -p '+ backup_dir)
    local('ssh  test@'+ env.host +' "'+ resin_path +'/init-resin stop"')
    arch_name = os.path.basename(resin_path)
    try:
        run('tar -cvzf '+ backup_dir  +'/'+ arch_name  +'_$(date +%Y-%m-%d_%H-%M-%S).tar.gz -C '+ resin_path  +'/conf jdbc.properties -C '+ resin_path +'/deploy-cb 22.war')
    except:
        print red("""\n\n=============== ATTENTION ==============\n\tBackup file doesn\'t create\n\n""",bold=True)
    try:
        run('rm -r '+ resin_path +'/deploy-cb/*')
    except:
        print red("""\n\n=============== ATTENTION ==============\n\tNot delete files in deploy-cb\n\n""",bold=True);
    if jdbc_new.strip() == '':
        print yellow('jdbc.properties not use. It is normal =)')
    else:
        run('echo -E '+ jdbc_new +' >> '+ resin_path  +'/conf/jdbc.properties')
    put(local_path +'/22.war',resin_path +'/deploy-cb/',mode=0644)
    if jdbc_new.strip() == '':
        print yellow('jdbc.properties not use. It is normal =)')
    else:
        jdbc = open(resin_path  +'/conf/jdbc.properties', 'a')
        print jdbc
        jdbc.write(jdbc_new)
        jdbc.close
#        run('echo -e "'+ jdbc_new +'" >> '+ resin_path  +'/conf/jdbc.properties')

Отредактировано darksmoke (Дек. 1, 2015 17:32:25)

Офлайн

#9 Дек. 1, 2015 17:34:20

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Передача многострочного параметра в функцию

И где в этом коде вы передаёте в функцию многострочную переменную? Не могу найти.



Офлайн

#10 Дек. 1, 2015 17:38:22

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

Передача многострочного параметра в функцию

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version