很抱歉对问题定义的冗长描述。在
我是新来的。一个月前就开始学了。 今天我试着写一个列表到一个文本文件中。 虽然我在这个网站上得到了答案并且用了同样的方法。而且效果很好。 但我在将列表写入文本文件时遇到了另一个问题。在
我名单的长度是2372。当我将列表以我需要的特定格式写入文本文件时,我发现只有少数列表成员被写入。 (格式为:第一行的前四个列表成员。同样,4人一组列出其余行中的成员。) 我发现只有1938个列表成员被写入文本文件。 文件大小为25KB。在
我还尝试在新行中写入每个列表成员,然后发现文本文件的大小为25KB,与上述情况相比,这次写入的列表成员更少。在
对写入列表的文本文件是否有文件大小限制? 请帮我解决这个问题。在
**python代码片段**
Lenlist = 2372
filptr = open(tempfile, 'w+')
count=0
for x in range(0,Lenlist):
filptr.write("%s\t" % line[x])
count+=1
if count>3:
if (count%4==0):
filptr.write("\n")
在列表中使用“迭代”会更容易:
使用
with
语句可确保在循环完成时正确关闭文件。使用enumerate
让我们不必使用手动计数器。在请注意,现在行的末尾总是有一个} 技巧一次从列表中抓取4个项目,并将它们与
^{pr2}$\t
个额外的制表符。您可以使用^{'\t'.join()
一起编写:在这里,我使用
izip_longest
从列表中取出一个项目,每次迭代4次,直到原始列表用完为止。为了确保不管列表的长度是多少,最后都有4个项目,我们使用空字符串作为填充:问题是文件写入是缓冲的,所以不能立即写入磁盘。如果在不关闭文件的情况下退出,则可能根本不会写入这些文件(尤其是在Jython和Pypy中,由于缺乏确定性GC而出现问题)。在
如果您有python2.6或更高版本,您可以使用
with
语句在完成后自动关闭文件。在像这样,使用发电机:
作为:
^{pr2}$相关问题 更多 >
编程相关推荐