Печать входных строк, объединенных в непрерывную строку - PullRequest
0 голосов
/ 05 февраля 2020

Может ли кто-нибудь помочь мне написать аргумент для cli, чтобы он мог печатать «входные строки» в виде объединенной непрерывной строки? Как мне сделать это реальным кодом, чтобы делать то, что я хочу?

parser.add_argument('-c','--combine', action='store', dest='store_combined', help='Print input strings combined in a continuous string')

args = parser.parse_args()

, поэтому, если я запускаю $ python HW3_cli.py -c, эти строки объединяются, тогда я получаю TheseStringsGetConcatenated в виде распечатки.

Можно ли напечатать длину каждой строки?

Ответы [ 2 ]

0 голосов
/ 05 февраля 2020

Всегда идеально передавать строки в кавычках (""), иначе будет трудно различить guish, что является параметром и что является значением

import argparse
import sys

parser = argparse.ArgumentParser(prog='HW3_cli.py')
parser.add_argument('-c','--combine', action='store', dest='store_combined', help='Print input strings combined in a continuous string')
options = parser.parse_args(sys.argv)

print ''.join(options.store_combined.split())
print len(''.join(options.store_combined.split()))

python HW3_cli.py -c "These Strings Get Concatenated"

TheseStringsGetConcatenated
27

По запросу в разделе комментариев: если вам нужно sh, чтобы получить длину для отдельной строки, выполните следующие действия:

import argparse
import sys

parser = argparse.ArgumentParser(prog='HW3_cli.py')
parser.add_argument('-c','--combine', action='store', dest='store_combined', help='Print input strings combined in a continuous string')
options = parser.parse_args(sys.argv)

print ''.join(options.store_combined.split())
for i in options.store_combined.split():
    print len(i),

python HW3_cli.py -c "These Strings Get Concatenated"

TheseStringsGetConcatenated
5 7 3 12

Дайте мне знать, если это то, что вам нужно

0 голосов
/ 05 февраля 2020

Вы можете попробовать поместить строку в кавычку:

python HW3_cli.py -c "These Strings Get Concatenated" 

Тогда в вашем коде вы можете разделить на пробел, как это:

args = parser.parse_args() 
print(args.store_combined.split())
#['These', 'Strings', 'Get', 'Concatenated']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...