python2 -> 3 填坑, print

m
magliner
楼主 (未名空间)

最近跑一些python 2代码,现在装的是python 3, 慢慢填一些坑, 比如python2用
xrange, 到python3直接删掉x即可; python2 用 from sklearn.cross_validation
import train_test_split ,python 3用 from sklearn.model_selection import
train_test_split;
python 2 用 print x; python 3用 print (x);

但是发现关于print 新的坑,都是和.format有关, 没google出来, 有懂的来说说应该怎么填:

坑1.
print "*********** Label [{}] ***********".format(label)

坑2.
for index, name in enumerate(names):
print "t<{}> {}".format(index+1,name)

坑3.
print "first {} PC explain {:.1f}% variances".format(n_components,
100 * sum(pca.
explained_variance_ratio_[:n_components]))
p
pptwo

format是string的成员,跟print有啥关系?

print("*********** Label [{}] ***********".format(label))

【 在 magliner (magliner) 的大作中提到: 】
: 最近跑一些python 2代码,现在装的是python 3, 慢慢填一些坑, 比如python2用
: xrange, 到python3直接删掉x即可; python2 用 from sklearn.cross_validation : import train_test_split ,python 3用 from sklearn.model_selection import
: train_test_split;
: python 2 用 print x; python 3用 print (x);
: 但是发现关于print 新的坑,都是和.format有关, 没google出来, 有懂的来说说应该
: 怎么填:
: 坑1.
: print "*********** Label [{}] ***********".format(label)
: 坑2.
: ...................

C
Caravel

有python 2to3自动转化工具
m
magliner

不知道。
我不懂python, 正在跑别人的python 2 代码, 别人的python 2 以前肯定是运行成功
过的,所以我先拿来跑跑看。下面是按照你的建议, python3 报错:

File "", line 16
print "t<{}> {}".format(index+1,name)
^
SyntaxError: invalid syntax

【 在 pptwo (pp) 的大作中提到: 】
: format是string的成员,跟print有啥关系?
: print("*********** Label [{}] ***********".format(label))

z
zach88

他给你打了括号 咋到你跑的地方就没了 你仔细看看他的code
【 在 magliner (magliner) 的大作中提到: 】
: 不知道。
: 我不懂python, 正在跑别人的python 2 代码, 别人的python 2 以前肯定是运行成功
: 过的,所以我先拿来跑跑看。下面是按照你的建议, python3 报错:
: File "", line 16
: print "t<{}> {}".format(index+1,name)
: ^
: SyntaxError: invalid syntax

v
verdelite


【 在 zach88 (zach) 的大作中提到: 】
: 他给你打了括号 咋到你跑的地方就没了 你仔细看看他的code

是呀,楼主自己说了print后面要打括号,是print() 不是print

m
magliner

everything worked together.
以上四位id, 每人20伪币已发,合计80.
我当初怎么就没想到呢,
智者千虑必有一失啊