2024-09-28 01:25:53 发布
网友
我想把一个文件分成5个文件,第一行存储在part1中,第二行存储在part2中
是这样的
#1 #6 ... to part1 #2 #7 ... to part2 #3 #8 ... to part3 #4 #9 ... to part4 #5 #10 ... to part5
我需要为file1到file5创建5个文件句柄,但似乎我不能使用(part+i)作为文件句柄,我不知道应该转换为哪种类型?串?在
(part+i)
如何解决这个问题?谢谢
这是我的密码
使用列表。在
files = [] ... files.append(open(...)) ... files.append(open(...)) ...
你的问题与文件句柄无关,与试图动态创建变量无关。在
答案是:不要那样做。Keep your data out of your variable names。在
请改用字典或列表;以下列表理解将创建打开文件对象的列表:
files = [open(os.path.join(sys.argv[2], "part{}".format(i + 1)), "w") for i in range(sys.argv[3])]
现在您可以寻址files[0],files[1],更好的是,在这个列表中循环以访问所有打开的文件对象files[-1]使您可以轻松访问最后一个file对象,等等
files[0]
files[1]
files[-1]
现在循环看起来也简单多了,因为现在可以使用基于0的索引:
使用列表。在
你的问题与文件句柄无关,与试图动态创建变量无关。在
答案是:不要那样做。Keep your data out of your variable names。在
请改用字典或列表;以下列表理解将创建打开文件对象的列表:
现在您可以寻址
files[0]
,files[1]
,更好的是,在这个列表中循环以访问所有打开的文件对象files[-1]
使您可以轻松访问最后一个file对象,等等现在循环看起来也简单多了,因为现在可以使用基于0的索引:
^{pr2}$相关问题 更多 >
编程相关推荐