正在迁移python 2.7和:。打印报表

正在迁移python 2.7和:。打印报表,python,python-2.7,python-3.x,Python,Python 2.7,Python 3.x,我对将代码迁移到Python3很感兴趣,而我使用的唯一会导致一些问题的是print语句。我希望python 2.7和版本3的用户都能使用我的代码 目前,我在使用字符串连接的行上遇到错误,如: print 'im shape ' + str(im.data.shape) 我知道我应该使用print函数,我认为这在2.7和3.x上都可以使用,但是有没有一种方法可以处理这个字符串连接,这种方法在2.7和3.x版本的python上都可以使用?简单地用括号括起来没有问题:这在2.7和3.x中都可以: p

我对将代码迁移到Python3很感兴趣,而我使用的唯一会导致一些问题的是print语句。我希望python 2.7和版本3的用户都能使用我的代码

目前,我在使用字符串连接的行上遇到错误,如:

print 'im shape ' + str(im.data.shape)

我知道我应该使用print函数,我认为这在2.7和3.x上都可以使用,但是有没有一种方法可以处理这个字符串连接,这种方法在2.7和3.x版本的python上都可以使用?

简单地用括号括起来没有问题:这在2.7和3.x中都可以:

print('im shape ' + str(im.data.shape))
但是,无论如何,您不应该这样进行连接。使用以下字符串替换方法之一:

print('im shape {}'.format(im.data.shape))

如果您使用3.x python发行版提供的自动翻译工具,那么打印语句将在打印函数调用中自动转换

在Python3中,打印连接非常有效

print ('im shape ' + str(im.data.shape))

你试过了吗?我对打印函数中的str连接没有问题,我做到了。我遇到了一个语法错误。也许是别的什么地方出了问题。我将进一步调查。谢谢如果你得到了一个SyntaxError,那就是你应该问的问题。并显示实际代码+错误的回溯。您所说的:。在问题标题中?在脚本开始时使用from _ufuture _; import print_函数,Python 2.7将像Python 3中一样使用print。是的,在编写Python之间可移植的代码时,print问题最小;