-2

我正在尝试根据元组计数的值编写不同的文件名或执行类似的功能。

例子

a= ('hello','my','friend')
b = len(a)  ## which is 3
a[0] ## which is 'hello'
a[1] ## which is 'my' and so on

但是在阅读了a的len之后我会知道它是3。然后我要做的是根据a的长度从0到2写一个文件。换句话说,读取a的len然后执行以下操作.

file = open('0.txt','w')
file.write("whatever")
file.close()

file = open('1','w')
file.write("whatever")
file.close()

file = open('2','w')
file.write("whatever")
file.close()

这样我就可以对 10 或 100 个元组的列表使用相同的代码,它将根据从 len(a) 读取的值自动调整。

4

3 回答 3

1

使用range()orxrange()函数根据元组长度生成整数值序列:

for i in xrange(len(a)):
    filename = '{}.txt'.format(i)

这将循环 3 次,生成数字和0,然后可用于生成文件名等。12

xrange()按需生成数字,range()首先生成带有数字的列表;前者内存效率更高,后者为您提供进一步操作的列表。

于 2013-11-07T12:32:56.700 回答
0

正如您提到的 list a,您可能对以下方法感兴趣:

a = ('hello', 'my', 'friend')
for i, value in enumerate(a):
   # here i stands for index
   # value for tuple value of this index, a[i]
   print i, value

输出

0 hello
1 my
2 friend
于 2013-11-07T13:10:19.847 回答
0

xrange() 将创建一个从 0 到您要查找的任何数字的迭代器。

您可以使用任何类型的字符串格式来创建唯一的文件名。

for i in xrange(0,len(a)):
    file = open("file_%d.txt" % i, 'w')
    file.write("whatever")
    file.close()

编辑:使用 len(a) 使示例更清晰,如建议的那样

于 2013-11-07T12:33:07.490 回答