python实现读取文件的断点续传
python读取文件有两个重要的方法f.tell()和f.seek()
通过这两个方法就可以实现文件的断点续传,tell可以实时返回读取文件的偏移量,seek可以直接跳转到这个偏移量
只要在异常中断之前将文件的偏移量记录下来,之后继续执行的时候就可以从这个偏移量开始读起,
备注:从中间开始移动指针在读文件的时候必须以二进制的方式读
import json from time import sleep import requests url = 'http://api.map.baidu.com/geocoder/v2/?address={addr_name}&output=json&ak=6HDoKGOxh5Yo5RRRNqAk8R9S6mcY9REY' def get_jw(addr_name): result = requests.get(url.format(addr_name=addr_name)) result_str = str(result.content, encoding="utf-8") rj = json.loads(result_str) lng = rj['result']['location']['lng'] lat = rj['result']['location']['lat'] return ','.join([addr_name, str(lng), str(lat)]) if __name__ == '__main__': file_name = '/opt/test/wangbin/community_copy.txt' target_file='/opt/test/wangbin/target2.txt' with open(file_name, 'rb') as f,open(target_file,'a') as f2: line = f.readline().strip() while line: line=str(line,encoding='utf8') id,community_name=line.split(',') addr_name = '杭州市' + community_name try: target=get_jw(addr_name) print(target) f2.write(id+','+target+'\n') except Exception as e: print(e) offset=len(line.encode('utf8'))+1 f.seek(-offset,1) line=f.readline().strip()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
2018-11-27 hive -e和hive -f的区别(转)