如何在Python中从列到行重新排列打印输出?

时间:2013-08-24 10:28:24

标签: image-processing python-2.7 numpy scipy mahotas

我在工作目录中编写了一个计算Robert Haralick图像特征(使用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 个答案:

答案 0 :(得分:1)

Python 2.x版本在打印语句后执行自动换行,但您可以使用,阻止它执行此操作(并且使用,获得自动空格。)

在您的代码中只使用单行(没有明确的\n):

print "%i" %z,

(我假设您正在使用2.x版本访问医学图像处理的完整科学堆栈,但如果您不是,请提及它。)

答案 1 :(得分:0)

我没有使用Python的经验;但是,如果你的意思是将相同的数字连续打印到控制台或文件或其他任何东西,那么只需要打印\ n \ r \ n字符,但用例如tab \ t或者替换它们逗号',',