Найти - Пользователи
Полная версия: правильное форматирование вывода.
Начало » Python для новичков » правильное форматирование вывода.
1 2
krwlr
всем доброго вечера.. Возник маленький вопрос. Есть такой код:

def usage():
print("""\
%s --options - to do something
%s --options - to do something
%s --options - to do something
%s --options - to do something
%s --options - to do something
%s --options - to do something""" % (sys.argv[0], sys.argv[0], ... sys.argv[0]))
Но не хочется писать 6 раз sys.argv… Какой может быть выход? Что нибудь правильное, лаконичное..
Да, скрипт может менять имя, поэтому указывать имя “./script.py –option - to do something” - не подходит..
Заранее благодарю :)
o7412369815963
вывод в цикле или можно сделать так ( [sys.argv] * 6 )
UsCr
А если так:
def usage():
print("\
{0} --options - to do something\n\
{0} --options - to do something\n\
{0} --options - to do something\n\
{0} --options - to do something\n\
{0} --options - to do something\n\
{0} --options - to do something".format(sys.argv[0]))
krwlr
o7412369815963
пробовал: TypeError: not enough arguments for format string :)

UsCr
Благодарю, что надо.. Выполняется правда дольше))) Ну да не главное :)
UsCr
А если не секрет: зачем вам такой странный вывод?
krwlr
UsCr
А если не секрет: зачем вам такой странный вывод?
Что вы, конечно нет, а если бы и был секрет - солгала бы. :)
Программа консольная, запускается с аргументами, использует getopt, имеет много опций.
А почему вывод “странный”? :D

P.S. оффтоп, если создам еще одну тему с одним маленьким вопросиком, меня не забанят за флуд? :)
Ferroman
Нет, не забанят, я думаю. Мало того, на форуме поощряется вынос новых вопросов в отдельные темы.
pasaranax
optparse is a more convenient, flexible, and powerful library for parsing command-line options than the old getopt module. И он умеет делать вывод –help автоматически.
PooH
def usage():
print("""\
%(filename)s --options - to do something
%(filename)s --options - to do something
%(filename)s --options - to do something
%(filename)s --options - to do something
%(filename)s --options - to do something
%(filename)s --options - to do something""" % dict(filename=sys.argv[0])
Учите матчасть ;)
Андрей Светлов
Ага. А argparse - еще более convenient & flexible. К слову - теперь живет в стандартной либе Питона 3.2
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB