在Python中将int转换为字符串
我想生成一些文本文件,文件名是fileX.txt,其中X是一个整数:
for i in range(key):
filename = "ME" + i + ".txt" //Error here! Can't concat a string and int
filenum = filename
filenum = open(filename , 'w')
有没有人知道怎么把文件名设置成"ME" + i 这样,我就能得到一系列文件名,比如:"ME0.txt"、"ME1.txt"、"ME2.txt"等等。
6 个回答
4
可以选择以下两种方式:
"ME" + str(i)
或者:
"ME%d" % i
通常来说,第二种方式更受欢迎,特别是当你想把多个小部分组合成一个完整的字符串时。
19
对于Python 2.6之前的版本,可以使用字符串格式化运算符 %
:
filename = "ME%d.txt" % i
而对于2.6及之后的版本,建议使用str.format()
方法:
filename = "ME{0}.txt".format(i)
虽然第一个例子在2.6中仍然可以使用,但第二个方法更受欢迎。
如果你有超过10个文件需要这样命名,建议加上前导零,这样文件在目录列表中会按顺序排列:
filename = "ME%02d.txt" % i
filename = "ME{0:02d}.txt".format(i)
这样会生成像ME00.txt
到ME99.txt
这样的文件名。如果需要更多位数,可以把例子中的2
换成更大的数字(例如,ME{0:03d}.txt
)。
97
x = 1
y = "foo" + str(x)
请查看Python的官方文档:https://docs.python.org/3/library/functions.html#str