Как переставить вывод на печать в Python из столбца в строку?

Я написал метод вычисления функций изображений Роберта Харалика (используя пакет Mahotas) на медицинских изображениях.tif в рабочем каталоге. Я получаю вывод на печать в столбце вроде:

567657657
788979877
787879787

Мне нужно преобразовать его в горизонтальный ряд, например: 1789789 8909888 898098098и, если возможно, добавьте имя обработанного файла перед строкой вывода (например: imagename 7897987 90890898...). Вот код:

def haralick(self):
   for filename in glob.iglob ('*.tif'):
      imgg = mahotas.imread (filename)
      cancertwo = mahotas.features.haralick (imgg)
      arr = numpy.array([cancertwo])
      for x in arr:
          for y in arr:
              for h in y:
                  for z in h:
                      print '%f' %z
                      print('\n')

2 ответа

Версии Python 2.x выполняют автоматический перевод строки после оператора print, но вы можете помешать ему сделать это с помощью , (и с , вы получаете автоматический пробел).

В вашем коде просто используйте одну строку (без явного \n):

print "%i" %z,

(Я предполагаю, что вы используете версию 2.x для доступа к полному научному стеку для обработки медицинских изображений, но, пожалуйста, укажите это, если это не так.)

У меня нет опыта работы с Python; Однако, если вы хотите напечатать одинаковые числа, следующие за консолью, файлом или чем-то еще, это будет просто вопрос не печати символа \n\r, а замены их, например, табуляцией \t или запятой ',',

Другие вопросы по тегам