python一次读1000直到文件结束?
我一直在研究一个将信息发送到服务器的
python项目,虽然我发现了一些很好的代码来读取文件并发送它,但我只能立即发送整个文件.我希望能够一次读取1000个字符,然后循环直到文件结束.我确信这很容易,但我不确定在哪里改变我一直在做的事情来实现它.这也可能是由于对阅读方法不熟悉,但我正在研究它,而不是找到任何已经为我澄清的信息.这就是我正在使用的:
with open(localFileTT,'rb',0) as f: #open the file for fstr in f: str.encode(fstr) print(fstr) if 'str' in fstr: break 我还没有在这段代码中引入网络功能,因为它只是一个测试材料,可以确定如何一次只读取1000个.它当然能够很好地读取整个部分,但我不知道如何更改它以便一次只读取部分.我会尝试添加read(1000),但打印空虚!我不确定这里读到的确切位置,不幸的是,到目前为止,我在网上阅读的这些代码的部分内容(例如with)没有任何帮助.如果有人能指出我正确的方向,那么我将非常感激. 解决方法file.read() 采用大小参数:
你可以在循环中使用它,结合 from functools import partial with open(localFileTT,0) as f: for chunk in iter(partial(f.read,1000),''): # chunk is up to 1000 characters long 另一种方法是使用while循环: with open(localFileTT,0) as f: while True: chunk = f.read(1000) if not chunk: # EOF reached,end loop break # chunk is up to 1000 characters long 如果你已经尝试过读取(1000)并且返回一个空字符串,那么你的文件当时已经在EOF了. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |