1
crazycabbage 2017-07-03 17:45:42 +08:00 1
一个变量 count 计数
``` name = 0 for i in data: if count == 10000: count = 0 name += 1 file_object = open('save%d.txt'%name, 'w+') file_object.write(i) file_object.close( ) ``` |
2
knightdf 2017-07-03 17:54:05 +08:00 1
`man split`, 不谢
|
3
KhadainJHIN OP @crazycabbage 非常感谢提供的思路和代码,我在实际代码中遇到了一个问题:服务器返回的数据长短不一,当存储数据足够 10000 时,才保存为文本,命名为 save1,当存储足够第二个 10000 时,才保存为 save2,如何才能保证检测到这一变化?
|
4
KhadainJHIN OP @knightdf 😆谢谢,如何检测服务器返回的数据长度呢,要保证这一长度足够才划分文件
|
5
wlsnx 2017-07-03 18:06:23 +08:00
data = []
while True: r = receive() data.extend(r.splitlines()) if len(data) >= 10000: save(data[:10000]) data = data[10000:] |
6
KhadainJHIN OP @knightdf windows 机器···
|
7
romanticbao 2017-07-03 18:47:28 +08:00
@KhadainJHIN cygwin
|
8
troywinter 2017-07-04 00:18:37 +08:00
你需要的是 file rotation,可以谷歌一下 python 里的 rotatingfilehandler, 参考一下它们标准库里的实现。
|