我是python的初学者,尝试创建100个文件并写入一些随机数据。为此我创建了一个嵌套的for循环
file_size=['10','20','50','100','500']
for i in range(100):
j="abcd1234:"+(format(i, '03d'))
<action to create file>
for size in file_size:
cmd_write_data = 'dd if=/dev/zero of=/root/mydir/' + j + ' bs=1M' + ' count=' + size
print (cmd_write_data)
输出就像
dd if=/dev/zero of=/root/mydir/abcd1234:000 bs=1M count=10
dd if=/dev/zero of=/root/mydir/abcd1234:000 bs=1M count=20
dd if=/dev/zero of=/root/mydir/abcd1234:000 bs=1M count=50
dd if=/dev/zero of=/root/mydir/abcd1234:000 bs=1M count=100
dd if=/dev/zero of=/root/mydir/abcd1234:000 bs=1M count=500
.
.
.
dd if=/dev/zero of=/root/mydir/abcd1234:099 bs=1M count=10
dd if=/dev/zero of=/root/mydir/abcd1234:099 bs=1M count=20
dd if=/dev/zero of=/root/mydir/abcd1234:099 bs=1M count=50
dd if=/dev/zero of=/root/mydir/abcd1234:099 bs=1M count=100
dd if=/dev/zero of=/root/mydir/abcd1234:099 bs=1M count=500
但我希望将大小设置为一个文件
dd if=/dev/zero of=/root/mydir/abcd1234:000 bs=1M count=10
dd if=/dev/zero of=/root/mydir/abcd1234:001 bs=1M count=20
dd if=/dev/zero of=/root/mydir/abcd1234:002 bs=1M count=50
dd if=/dev/zero of=/root/mydir/abcd1234:003 bs=1M count=100
dd if=/dev/zero of=/root/mydir/abcd1234:004 bs=1M count=500
依此类推,直到文件范围结束。请分享您对如何在嵌套for循环中限制一个循环迭代的想法。提前致谢。 P.S使用Python 2.7
答案 0 :(得分:0)
你不应该从0迭代到100;你应该遍历文件大小,并在那里更新i
:
i = 0
for size in file_size:
j="abcd1234:"+(format(i, '03d'))
cmd_write_data = 'dd if=/dev/zero of=/root/mydir/' + j + ' bs=1M' + ' count=' + size
print (cmd_write_data)
i += 1
如同强烈指出的那样,甚至还有一个内置函数可以在迭代时跟踪索引:enumerate()
。
for i, size in enumerate(file_size):
j = "abcd1234:" + format(i, '03d')
cmd_write_data = 'dd if=/dev/zero of=/root/mydir/' + j + ' bs=1M' + ' count=' + size
print(cmd_write_data)