当前位置: 首页 > news >正文

如何利用模板建站北京怎样建网站

如何利用模板建站,北京怎样建网站,wifi域名是什么,wordpress 一直跳转到老域名上一篇中我们介绍了文件的基本读写操作#xff0c;但是很多时候数据的读写并不一定都是在文件中#xff0c;我们也可以在内存中读写数据#xff0c;因此引出我们今天的主要内容#xff0c;即 StringIO 和 BytesIO#xff0c;让你学会在内存中进行数据的基本读写操作。 1 …上一篇中我们介绍了文件的基本读写操作但是很多时候数据的读写并不一定都是在文件中我们也可以在内存中读写数据因此引出我们今天的主要内容即 StringIO 和 BytesIO让你学会在内存中进行数据的基本读写操作。 1 前言-内存与硬盘 在正式介绍 StringIO 和 BytesIO 之前我们先来了解一下内存和硬盘的差异以便更好的理解硬盘中文件的基本操作与 StringIO 和 BytesIO 对数据的基本操作两者之间存在的意义。 内存与硬盘的差异 差异点内存硬盘形状长条形所以有内存条之称四四方方的内含盘片容量(以 PC 机为例)4G1T功能存储任务管理器的进程存储文档、软件等数据运行速度快慢特点存放 CPU 运算的数据一旦断电数据就会消失可以永久存储数据 通俗点来讲我们电脑里的 C 盘、D盘等都是硬盘电脑关机后再次开机这些盘符里面的数据依然还在。但是我们电脑任务管理器里面跑的进程的数据都是存储在内存中的电脑关机后进程里面的数据就不复存在了。 正是由于硬盘的读取数据比较慢CPU 如果在运行程序的时候所有数据都直接从硬盘中读写那么电脑的运行速度将会大打折扣。因此 CPU 会将运行软件时要用到的数据一次性从硬盘中调到运行速度很快的内存中然后 CPU 再与内存进行数据交换。一个很明显的现象就是我们在打开一个软件时会有一段时间延迟但是打开之后软件的运行速度就很快了。 好了现在我们应该对在内存与硬盘上读取数据大概有一个了解开始进入我们的正题。 2 StringIO 和 BytesIO StringIO 和 BytesIO 的作用简单来说就是在内存中虚拟一个文件的感觉这个虚拟出来的文件操作方式与上一篇介绍的在硬盘中文件的基本操作类似。在 Python3 中这两“兄弟”现在已经归入 IO 模块。 2.1 StringIO 要把 str 字符串写入内存中我们需要创建一个 StringIO 对象然后像文件一样对读取内容。其中 StringIO 中多了一个 getvalue() 方法目的是用于获取写入后的 str。 示例 1 # 定义一个 StringIO 对象写入并读取其在内存中的内容from io import StringIOf StringIO()f.write(Python-100)str f.getvalue()print(写入内存中的字符串为:%s %str)f.write(\n) # 追加写入内容f.write(坚持100天)str f.getvalue() # getvalue() 可以读取到 StringIO 中的所有内容print(写入内存中的字符串为:\n%s %str)f.close() # 释放内存中的数据后续不可再对该 StringIO 进行内容的读写操作# 输出结果# 写入内存中的字符串为:# Python-100# 写入内存中的字符串为:# Python-100# 坚持100天 示例 2:​​​​​​​ # 当然也可以用 read()、readline() 等来读取 StringIO 中写入的字符串from io import StringIOstr Python-100 \n 坚持100天f StringIO(str)currentStr f.read()print(写入内存中的字符串为:\n%s %currentStr)f.close() 示例 3​​​​​​​ # 考虑一个场景比如你需要对爬虫爬取到的数据进行操作但是你不想把数据写入本地的硬盘上这时候 StringIO 就派上用场了。from io import StringIO# 假设的爬虫数据输出函数 outputData()def outputData(): dataOne 我是 1 号爬虫数据\n dataTwo 我是 2 号爬虫数据\n dataThree 我是 3 号爬虫数据 data dataOne dataTwo dataThree return data# dataStr 为爬虫数据字符串dataStr outputData()# 1. 将 outputData() 函数返回的内容写入内存中dataIO StringIO(dataStr)# 1.1 输出 StringIO 在内存中写入的数据print(1.1内存中写入的数据为:\n%s %dataIO.getvalue())# 输出结果:# 1.1内存中写入的数据为:# 我是 1 号爬虫数据# 我是 2 号爬虫数据# 我是 3 号爬虫数据# 1.2 按行输出写入的数据方式一print(1.2按行输出写入的数据方式一:)for data in dataIO.readlines(): print(data.strip(\n)) # 去掉每行数据末尾的换行符# 输出结果:# 1.2按行输出写入的数据方式一:# 我是 1 号爬虫数据# 我是 2 号爬虫数据# 我是 3 号爬虫数据# 1.3 按行输出写入的数据方式二# 由于上一步的操作此时文件指针指向数据末尾(32)我们需要将指针指向起始位置print(由于上一步操作的输出此时文件指针位置为:%d %dataIO.tell())# 将文件指针指向起始位置方便下面的演示dataIO.seek(0)print(1.3按行输出写入的数据方式二:)for data in dataIO: print(data.strip(\n))# 输出结果:# 1.3按行输出写入的数据方式二:# 我是 1 号爬虫数据# 我是 2 号爬虫数据# 我是 3 号爬虫数据# 2. 采用 write() 的方法将字符串写入内存dataWriteIO StringIO()dataWriteIO.write(dataStr)# 2.1 输出内存中写入的数据print(2.1内存中写入的数据为:\n%s %dataIO.getvalue())# 输出结果:# 2.1内存中写入的数据为:# 我是 1 号爬虫数据# 我是 2 号爬虫数据# 我是 3 号爬虫数据 # 2.2 按行输出写入的数据方式一# 由于 write() 写入字符串后文件指针会指向写入内容的结尾需要将文件指针指向起始位置否则未能输出内容print(2.2按行输出写入的数据方式一:)print(输出内容为空)for data in dataIO: print(data.strip(\n))print(输出内容为空)# 输出结果# 2.2按行输出写入的数据方式一:# 输出内容为空# 输出内容为空# 2.3 按行输出写入的数据方式二# 将指针指向起始位置重新按行输出dataIO.seek(0)print(2.3按行输出写入的数据方式:)for data in dataIO.readlines(): print(data.strip(\n))# 输出结果# 2.3按行输出写入的数据方式:# 我是 1 号爬虫数据# 我是 2 号爬虫数据# 我是 3 号爬虫数据 Tips: 根据这个例子可以看出当我们使用 StringIO(str) 方法向内存写入数据时文件指针是指向起始位置的比如示例 3 的 1.2 场景中 readlines() 可以读取到数据。当我们使用 write(str) 方法向内存写入数据时文件指针会指向写入内容的结尾读取数据时需要将指针移动到起始位置比如示例 3 的 2.3 场景。 2.2 BytesIO BytesIO顾名思义就是将字节流写入到内存中其实它的操作方法与 StringIO 一样区别就在于前者写入字节后者写入字符串。这边就简单举个例子演示不再具体介绍了。 示例​​​​​​​ # 定义一个 BytesIO 对象写入并读取其在内存中的内容from io import BytesIOstr Python-100 \n 坚持100天f BytesIO(str.encode(utf-8))print(写入内存的字节为:%s %f.getvalue())print(字节解码后内容为:\n%s %f.getvalue().decode(utf-8)) Tips: 根据示例可知对于字节我们需要掌握其正确的编解码方式比如有 utf-8、gbk 等。 3 总结 本节给大家介绍了 Python 中 StringIO 和 BytesIO 的基本使用方法掌握在内存中存取数据的基本操作同时介绍了内存与硬盘的区别让大家明白在内存中存取数据的优势助力您在爬虫的道路越走越远。
http://www.dnsts.com.cn/news/95935.html

相关文章:

  • 临沂做网站优化襄阳微网站建设
  • 怎么用ps做网站超链接wordpress在线时长插件
  • 网站开发asp专门看网站的浏览器
  • 网站备案多久一次太原seo排名外包
  • PHP网站开发项目式教程成都建设网页公司
  • 2023年电脑端网游浙江seo关键词
  • 晋江网站建设html代码颜色表
  • 建设品牌型网站上海最近发生什么大事
  • 创建网站基本流程哪家企业网页制作好
  • 免费看电视的网站有哪些如何用vs2010做网站
  • 快站模板网站推广的渠道
  • 德国 网站建设河南网站建设公
  • 青岛网站推广哪家便宜做企业网站需要准备什么
  • 建设一个个人网站不需要wordpress 显示访客数
  • 备案中又需要建设网站如何做网站推广营销
  • 关键词优化简易长沙自动seo
  • 沈阳网站建设企业六安网站建设推广
  • 男和男人怎么做那个视频网站百度网盘 做网站图床
  • 杭州做肉松饼的网站有多少家济南做网站哪家好怎么选
  • 网站的建设步骤包括什么公司网页设计论文题目大全
  • 北京网站优化实战宁波seo推广优化
  • 上海电子商务网站开发北京 网站建设托管公司
  • 经典重庆论坛畅谈重庆当阳seo外包
  • 网站建设纯免费官网商城网站一般用什么做二次开发
  • 网站营销力吉安律师网站建设
  • 建设银行上虞支行网站wordpress瀑布流展示插件
  • 布吉做网站的公司北京海淀区官网
  • wordpress修改主题文件夹专业网站优化推广
  • 凡科做网站怎么样网站的系统建设方式有哪些方面
  • 马鞍山的网站建设公司海丰网站建设