将服务器返回的数据保存到本地文本,需要实现的功能如标题:,自动命名文本文件:save1,save2···
1
crazycabbage Jul 3, 2017 一个变量 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 Jul 3, 2017 `man split`, 不谢
|
3
KhadainJHIN OP @crazycabbage 非常感谢提供的思路和代码,我在实际代码中遇到了一个问题:服务器返回的数据长短不一,当存储数据足够 10000 时,才保存为文本,命名为 save1,当存储足够第二个 10000 时,才保存为 save2,如何才能保证检测到这一变化?
|
4
KhadainJHIN OP @knightdf 😆谢谢,如何检测服务器返回的数据长度呢,要保证这一长度足够才划分文件
|
5
wlsnx Jul 3, 2017
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 Jul 3, 2017
@KhadainJHIN cygwin
|
8
troywinter Jul 4, 2017
你需要的是 file rotation,可以谷歌一下 python 里的 rotatingfilehandler, 参考一下它们标准库里的实现。
|