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

产教融合平台建设网站楼盘动态

产教融合平台建设网站,楼盘动态,酒吧dj做歌网站,wordpress双语安装文件操作 引言 爬虫爬取的一切内容都是在内存进行的,这样会有什么问题吗?如果一旦短电或着发生意外电脑关机了那么你的工作成果将瞬间消失。所以,我们还缺少数据在本地文件系统进行持久化的能力,简单的来说就是文件读写操作。文…

文件操作

引言

爬虫爬取的一切内容都是在内存进行的,这样会有什么问题吗?如果一旦短电或着发生意外电脑关机了那么你的工作成果将瞬间消失。所以,我们还缺少数据在本地文件系统进行持久化的能力,简单的来说就是文件读写操作。文件读写操作在爬虫中是必不可缺少的一部分。

文件打开

Python中内置了一个open()方法,用于对文件读写操作。使用open()方法操作文件可以分三步,一是打开文件,二是操作文件,三是关闭文件。

文件句柄/文件描述符

open()方法返回值是一个file对象,可以将它赋值给一个变量,这个变量就是所谓的文件句柄

file对象

可以调用read()和write()方法,对打开的文件进行读写操作

open方法的语法

f = open(fliename,mode)

filename

一个包含了你要访问的文件名称的字符串值,通常是文件路径。文件路径作用:定位到指定文件

mode

打开文件的模式,默认是只读r

文件打开的模式

常规文件打开模式操作示例

b模式:

二进制模式,通常用于读取图片、视频等二进制文件,注意,它在读写的时侯以bytes类型读写的,因此获得的是bytes对象而不是字符串在这个读写过程中,需要自己指定编码格式。在使用带b的模式一定要注意传入的数据类型,确保为bytes类型。

+模式:

对于w+模式,在读写之前都会清空文件的内容,建议不要使用。

对于a+模式,永远只能在文件末尾写入,有局限性。

对于r+模式,也就是读写模式,配合seek()和tell()方法可以实现更多操作

编码问题

要读取非utf-8文件,需要给open()函数传入encoding参数,例如,读取GBK编码的文件。

遇到一些编码不规范的文件,可能会抛出UnicodeDecodeError异常这表示在文件中可能掺杂了一些非法编码的。遇到这种情况可以提供errors='ignore'参数,表示如果遇到编码错误后如何处理。

文件对象操作

每当我们用open()方法打开文件时,将返回文件对象。这个对象内置了很多操作方法。

f.read(size)#size读取数据的个数

读取一定大小的数据,然后作为字符串或字节对象返回,size是一个可选的数字类型的参数,用于指定读取的数据量。当size被忽略了或者为负值,那么该文件的所有内容都将被读取并且返回。

注意:如果文件体积较大,建议不要使用read()方法一次性读入内存,而是read(512)一点一点的读。

f.readline()

从文件一行读取n内容。换行'\n'。如果返回一个空字符串,说明已经读取到最后一行。这种方法通常是读一行处理一行,并且不能回头读过的行不能在读了。

f.readlines()

件文件中所有的行,一行一行全部读入一个列表内,按顺序一个一个全部读入列表内,并返回这个列表。readlines方法一次性将文件全部读入内存,所以也存在一定的问题。但是它有个好处,每行都保存在列表里,可以随意存取。

fp = open('./text.txt','r')
text = for.read(10) #读取指定字节的数据
text_line = fp.readline() #一次读取一行数据
text_lines = fp.readlines() #读取多行数据返回一个列表
print(text_lines)
fq.close()

f.seek()

如果需要改变文件指针的位置,可以使用f.seek(offset,from_what)方法。seek()经常和tell()方法配合使用。

from_what

如果是0表示从文件开头计算

如果是1表示表示从文件读写指针的当前位置开始计算

2表示从文件结尾开始计算,默认是0

offset:表示偏移量

seek(x,0):从文件首行首字符开始移动x个字节

seek(x,1):表示从当前位置往后移动x个字节

seek(-x,2):表示从文件的末尾往前移动x个字节

fp=open('./text.txt','r')
fp.seek(9,0)
text=fp.read(5)
print(text)

f.tell()

返回文件读写指针当前所处的位置,它是从文件开头开始算起的字节数。一定要注意是字节数,而不是字符数。

fp=open('./text.txt','r')
print(fp.tell)
fp.close()

f.write()

将字符串或bytes类型的数据写入文件内。write()动作可以多次重复进行,其实都是在内存中操作,并不会立刻写入硬盘,直到执行close()方法后,才会将所有的的写入操作反映到硬盘上,在这个过程中,如果想将内存中修改,立刻保存到硬盘上,可以使用f.flush()方法。

fp=open('./text.txt','w')
fp.write('hello')
fp.close() #清空后写入
fp=open('./text.txt','a')
fp.write('hello')
fp.close() #追加


文章转载自:

http://0UVpEqi6.hbzhm.cn
http://DhFg3Kek.hbzhm.cn
http://rYx2vTBD.hbzhm.cn
http://xTRdTkSq.hbzhm.cn
http://IEyEFRSt.hbzhm.cn
http://JZ9qo4yH.hbzhm.cn
http://qZ9VUi1g.hbzhm.cn
http://k9I5vPrO.hbzhm.cn
http://R1k8Xzak.hbzhm.cn
http://zjZikyqa.hbzhm.cn
http://VKAZaTFv.hbzhm.cn
http://03Iq2mMd.hbzhm.cn
http://M6vwgaog.hbzhm.cn
http://eWwqvk1s.hbzhm.cn
http://iuFmyeLZ.hbzhm.cn
http://SJIWAT2l.hbzhm.cn
http://nNeqTPS9.hbzhm.cn
http://dd83VovO.hbzhm.cn
http://INkZoWcC.hbzhm.cn
http://79fsYko8.hbzhm.cn
http://IhBKDpJH.hbzhm.cn
http://PEyqqgeh.hbzhm.cn
http://yNfVrDYR.hbzhm.cn
http://5pjnsnSl.hbzhm.cn
http://ltZPm9bM.hbzhm.cn
http://Fod1DqkK.hbzhm.cn
http://yU1yBQr6.hbzhm.cn
http://fdWDSrU4.hbzhm.cn
http://6vceJKGy.hbzhm.cn
http://GOs8jgwG.hbzhm.cn
http://www.dtcms.com/wzjs/647086.html

相关文章:

  • 郑州网站托管服务织梦网站怎么建设
  • 装修网站怎么做推广学历提升有几种方式
  • l网站建设h5模板网站有哪些
  • 销售网站排名网站优化分析
  • 男女第一次做网站爱高端ppt模板
  • 第一次做网站做后感一个人如何做跨境电商
  • 企业网站修改流程wordpress免费商城模板
  • 广州做网站信科分公司网页设计与制作教程第六版答案
  • 棠下手机网站建设报价怎么开一个平台
  • 郑州企业建设网站服务高校网站群建设
  • 基于flash网站设计建站之星有手机版模板
  • 如何建立网站 个人魔贝课凡seo课程好吗
  • 杭州网站建设公司推荐采集做网站
  • 网站怎么做更好推广如何套模板做网站
  • 云南省建设系统网站公司前台设计
  • 网站建设对企业经营网站seo 优化
  • 网页设计与网站建设设计报告营销方向有哪些
  • 外贸网站中的搜索产品功能如何实现网站没有地图怎么做的
  • 网站开发哪一种语言好现在去北京安全吗
  • 百度网站推广关键词怎么查教育建设网站
  • 为何网站建设公司报价不同ps转页面wordpress插件
  • 如何做网站栏目规划浙江省住房和城乡建设行业网站
  • html网页设计环保网站网站建设设计书
  • 南宁网站建站推广门户网站开发专业
  • 电子商务网站建设及推广在网上怎么赚钱快
  • 软件开发可以做网站么私人网站建设成本
  • 做网站的个人总结优良的定制网站建设
  • 西宁企业网站营销推广什么是交互式网站
  • 月嫂的个人简历网站模板做航空产品的网站有哪些
  • 廊坊做网站的大公司网站开发前台和后台