Skip to content

Commit c81c165

Browse files
authored
Fixes #8
讲真,就上面那个非 lazy 的 get_lines 也不应该用 append,直接 return f.readlines() 不就可以了...
1 parent c604706 commit c81c165

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

README.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -291,11 +291,9 @@
291291
现在要处理一个大小为10G的文件,但是内存只有4G,如果在只修改get_lines 函数而其他代码保持不变的情况下,应该如何实现?需要考虑的问题都有那些?
292292
```
293293
def get_lines():
294-
l = []
295294
with open('file.txt','rb') as f:
296-
data = f.readlines(60000)
297-
l.append(data)
298-
yield l
295+
for l in f:
296+
yield l
299297
```
300298
要考虑的问题有:内存只有4G无法一次性读入10G文件,需要分批读入分批读入数据要记录每次读入数据的位置。分批每次读取数据的大小,太小会在读取操作花费过多时间。
301299
## 1.2 补充缺失的代码
@@ -1136,4 +1134,4 @@ Web browsable API对开发者有极大的好处
11361134
支持ORM和非ORM数据资源的序列化
11371135
全程自定义开发--如果不想使用更加强大的功能,可仅仅使用常规的function-based views额外的文档和强大的社区支持
11381136
## 2.19 对cookies与session的了解?他们能单独用吗?
1139-
Session采用的是在服务器端保持状态的方案,而Cookie采用的是在客户端保持状态的方案。但是禁用Cooki就不能得到Session。因为Session是用Session ID来确定当前对话所对应的服务器Session,而Session ID是通过Cookie来传递的,禁用Cookie相当于SessionID,也就得不到Session。
1137+
Session采用的是在服务器端保持状态的方案,而Cookie采用的是在客户端保持状态的方案。但是禁用Cooki就不能得到Session。因为Session是用Session ID来确定当前对话所对应的服务器Session,而Session ID是通过Cookie来传递的,禁用Cookie相当于SessionID,也就得不到Session。

0 commit comments

Comments
 (0)