Разделить строковый код строки без разделения его вывода - PullRequest
0 голосов
/ 12 июля 2020

Я использую Python 3.7.7.

У меня есть этот код:

print("Shape:{} - N-Way:{} - Num-shot:{} - Num-query:{} - Epochs:{} - \
        Episodes:{} - Loss_function:'{}' - Accuracy:'{}'".format(image_shape,
        num_way, num_shot, num_query, num_epochs, num_episodes, loss_name,
        accuracy_name))

Я использую Epochs:{} - \, чтобы длина строки не превышала 80 символов. Но я получаю такой вывод:

Shape:(200, 200, 1) - N-Way:2 - Num-shot:5 - Num-query:5 - Epochs:2 -          Episodes:10 - Loss_function:'dice_coef_loss' - Accuracy:'accuracy'

С этим пробелом Epochs:2 - Episodes:10 - между Epochs и Episodes.

Есть ли способ избежать этого? Я хочу это: Epochs:2 - Episodes:10 -

Ответы [ 2 ]

2 голосов
/ 12 июля 2020

Вы можете сделать это:

print("Shape:{} - N-Way:{} - Num-shot:{} - Num-query:{} - Epochs:{} - "
      "Episodes:{} - Loss_function:'{}' - Accuracy:'{}'"
      .format(image_shape, num_way, num_shot, num_query, num_epochs,
              num_episodes, loss_name, accuracy_name))

Это работает, потому что в Python, если у вас есть два строковых литерала, разделенных просто пробелами, это эквивалентно объединению только этих литералов:

>>> 'asd'   'fgh'
'asdfgh'
0 голосов
/ 12 июля 2020

Это дополнительное пространство происходит от ведущего отступа в следующей строке

print("Shape:{} - N-Way:{} - Num-shot:{} - Num-query:{} - Epochs:{} - \
Episodes:{} - Loss_function:'{}' - Accuracy:'{}'".format(image_shape,  
        num_way, num_shot, num_query, num_epochs, num_episodes, loss_name,
        accuracy_name))

Обрежьте это, и вы должны получить то, что хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...