LINUX.ORG.RU

Мегазадачка на сообразительность знатокам Phyton


0

0

Вот мучаюсь уже полчаса и ответа не знаю! Надеюсь пока

Посмотрите на две строчки питона

import os
os.system("echo \"out  *in*  \"")

Внимание вопрос!  Чем надо заменить звездчки в строке, 
чтобы на выходе получилось следующее:

out \"in\"

???? Я пока не придумал
★★★

ВОТ! Придумал первое решение (но с немного другой функцией). Просто полный привет и такое не хочется сувать в программу

os.system("printf \" out  %s\b\\\"in%s\b\\\"  \" \"\\ \" \"\\ \")

Вот такие дела, блин

atoku ★★★
() автор топика
Ответ на: комментарий от atoku

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

os.system("printf \" out  %s\b\\\"in%s\b\\\"  \" \"\\ \" \"\\ \" ")

atoku ★★★
() автор топика
Ответ на: комментарий от I3rain

Задача не о том! Надо чтобы после выполнения программы на питоне появилась строка

out \"in\"

на экране

atoku ★★★
() автор топика

Проблема с моим решением все та же: а если я захочу использвать %s из питона (чтобы делать подстановки строк) - впрочем я и хочу.

Что же делать? Неужели это не могут решить мастера питона и ос?

atoku ★★★
() автор топика
Ответ на: комментарий от I3rain

Я только не одной строчки не писал на питоне :). Но не думаю что должно сильно отличатся от других языков

I3rain
()
Ответ на: комментарий от atoku

Для моей задачи не подходит! У меня есть вложенные одинарные кавычки в строке in!! Что делать?

atoku ★★★
() автор топика
Ответ на: комментарий от I3rain

Исходная задача такая. Питонов скрипт генерирует скрипт на php который потом посылается на выполнение php через |. Для этого происходит что-то вроде следующего

php_script = "<?php commands; ?>"
os.system("echo \"php_script\" | php")

atoku ★★★
() автор топика
Ответ на: комментарий от atoku

О! Я дебил! Можно же просто запускать php -r code

Читайте маны, что называется!

Но задачка все равно прикольная! Если решите, то пишите. Условие дополнительное: нельзя использовать одинарные кавычки!!! :) Мое решение ужасно неуклюжее (с printf)

atoku ★★★
() автор топика
Ответ на: комментарий от atoku

Блин! И опять та же проблема!!! Как же кавычки передать! Ведь код тоже пойдет в кавычках!!! Это ужасно! Не проходит!

atoku ★★★
() автор топика

>out \"in\"

Вот, блин, задача. Мешает shell - не пользуйтесь им.

os.spawnl(os.P_WAIT,'/bin/echo','echo',r'out \"in\"')

DonkeyHot ★★★★★
()
Ответ на: комментарий от DonkeyHot

В данном случае, наверно, лучше подойдет popen с сотоварищами.

amm
()
Ответ на: комментарий от omerm

> print ('echo out \\"in\\"')

я же говорю не годится, так как в строчке in содержатся одинарные кавычки!

atoku ★★★
() автор топика
Ответ на: комментарий от atoku

> > print ('echo out \\"in\\"')
>
> я же говорю не годится, так как в строчке in содержатся одинарные
> кавычки!

in = "blah 'blah' blah"
print 'echo out \\"%s"\\' % in

int19h ★★★★
()
Ответ на: комментарий от CrazyPit

ну ещё из того что не было (если без одинарных):

os.system( """echo out \\\\\\"in\\\\\\" """)

CrazyPit ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.