一、文件流

1.  open方法是打开文件,方法是:

  open(“文件名”,‘打开方式’,‘缓存’’)

  参数说明

   “文件名”:包含了你要访问的文件路径及文件名称的字符串值。尽量使用绝对路径

   ‘打开方式’:默认文件访问模式为只读(r)

   ‘缓存’:如果值<0,寄存区的缓冲大小则为系统默认;

      如果值=0,就不会有寄存;

      如果值=1,访问文件时会缓存行;

      如果值>1的整数,表明了这就是寄存区的缓冲大小;

      该参数是非强制性的。

2.mode文件操作模式

 (1)打开方式

  r--读 ,w--写 ,a--追加

  r+可读可写
  w+:打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
  a+:打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
 
  rb wb ab 读写二进制
  (2)对文件作读写操作

    1、常规的读操作
    (1)read([size])
      size:读取的长度,以byte为单位。如果不指定参数,表示一次性读取全部内容,以字符串形式返回,并且每一行结尾会有一个"\n"符号。
 
    (2)、readline([size])
     调一次读取一行,如果给定了size,有可能返回的只是一行的一部分,以字符串的形式返回,并且结尾会有一个换行符"\n"。
     读完一行,文件操作标记移动到下一行的开头。返回的是字符串
 
    (3)、readlines([size])
      读取多行,给定了size,可以返回读取行数的内容。
    2、常规的写操作
    (1)、writelines(seq)

      seq:把seq(序列)的内容全部写到文件中(多行一次性写入)。也不会自动加入换行符。
      注意:序列中的内容也必须是字符串类型的数据,才能成功写入文件。
 
    (2)、write(str)
      把str写到文件中,默认是不加换行符的,所以如果想换行的话,得手动加入换行符'\n'。
 

    3、读取文件的位置定位

      (1)、tell()
        返回当前操作文件读取到的位置一个中文:3个字节Windows下‘\r\n’(换行符)占两个字节,Linux下\n mac下\r.
       (2)、seek(x,n) 移动游标到想去的位置
         n:,默认是0,起始位置     2:从末尾开始计算偏移;1:从当前位置作为标准位置
         x:移动的总距离,可以是正数,可以为负数
3、文件输出方法:
  (1)  with open("文件名",'打开方式') as '新名字':
          print('新名字')
  (2)   for line in '文件名':
         print(line)
二、网上爬虫
  实例代码:

response=request.urlopen("https://baike.baidu.com/item/AOP/1332219?fr=aladdin")fi=open("ccc.py",'w')page=fi.write(str(response.read()))fi.close()  其中需要导入requ的包,用方法urlopen找到网址,然后创建文件用来储存,接着用文件的write方法,对获得的网页的read方法,并转为字符串。最后关闭文件。

三、序列化和反序列化    通过将对象序列化可以将其存储在变量或者文件中,可以保存当时对象的状态,实现其生命周期的延长。并且需要时可以再次将这个对象读取出来。
用到pickle模块:# 序列化     with open('abc.pkl', 'wb') as f:       dic = {'age': 23, 'job': 'student'}       pickle.dump(dic, f) # 反序列化     with open('abc.pkl', 'rb') as f:       aa = pickle.load(f)       print(aa)        总结:即序列化用到dump方法,反序列化用到load方法

转载于:https://www.cnblogs.com/qianshuixianyu/p/9174285.html

python的文件流,初步网页爬虫,序列化和反序列化相关推荐

  1. python(六)动态网页爬虫

    python(六)动态网页爬虫 什么是动态网页爬虫 动态网页 在网站不重新加载的情况下(网页的url不发生改变),通过ajax技术动态更新网站中的局部数据. ajax 异步JavaScript和XML ...

  2. 用python实现接口测试(八、实现序列化与反序列化)

    前言 在python中,序列化可以理解为:把python的对象编码转换为json格式的字符串,反序列化可以理解为:把json格式字符串解码为python数据对象. 一.字典,通过json把它序列化为j ...

  3. Python带你轻松进行网页爬虫

    前不久DotNet开源大本营通过为.NET程序员演示如何在.NET下使用C#+HtmlAgilityPack+XPath进行网页数据的抓取,从而为我们展示了HtmlAgilitypack利器的优点和使 ...

  4. python入门代码示例-Python入门简单的静态网页爬虫3.0 (爬虫的示例代码)

    一.需求分析 爬取百度词条Python页面的相关100个页面,分析目标:分析(url格式 数据格式 网页编码 ).url格式限定了爬取的网页格式避免一些不相干的网页的爬取.数据格式主要是内容中相关的标 ...

  5. Python 学习笔记 第三篇 Python实现网易云评论网页爬虫+词云展示 (Pycharm+Mysql)

    初始条件,具体可见我的其他文章. 1.安装Python.Python 学习笔记 第一篇 Python的安装与配置 2.安装Pycharm,并导入第三方包.Python 学习笔记 第二篇 Python ...

  6. python gzip文件流解压方式

    有时候gzip文件不是以文件形式返回数据的,而是以字符串形式返回,这时候我们把它写文件在读文件,会消耗大量资源, fio = StringIO.StringIO(msg) f=gzip.GzipFil ...

  7. Python小姿势 - Python爬虫:如何使用Python实现网页爬虫

    Python爬虫:如何使用Python实现网页爬虫 网页爬虫(Web Crawler),也叫网络爬虫(Web Spider),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.爬虫程序或者脚本 ...

  8. IO流 (五) ----- 对象数据的序列化与反序列化

    相关文章: <IO流 (一) ----- 基本概念和File类> <IO流 (二) ----- 文件流> <IO流 (三) ----- 字符流和字符缓冲流> < ...

  9. Java基础-序列化与反序列化

    序列化和反序列化在面试中也经常考查,下面就总结一下 Java 中的序列化和反序列化. 什么是序列化和反序列化? 序列化是将 Java 对象转换成与平台无关的二进制流,而反序列化则是将二进制流恢复成原来 ...

最新文章

  1. Node.js开发WEB项目后端接口API,基于mysql5.7数据库(小试牛刀)
  2. Windows Live Writer推荐SyntaxHighlighter代码着色插件
  3. IOS UITableView 加载未知宽高图片的解决方案
  4. Linux日志系统-08:定时执行脚本
  5. 工作分解结构图(Work Breakdown Structure)
  6. 阿里云专家手把手教你重塑 IT 架构!
  7. 外部依赖项很多未定义标识符_从日本编程书籍《我的第一本编程书》中译版看中文例程如何扬长避短——标识符(一)
  8. python3.6安装tensorflow gpu_tensorflow-gpu安装的常见问题及解决方案
  9. devops 技术_在DevOps时代雇用技术作家
  10. 马云宣布再捐赠800台呼吸机 用最快的速度送到欧洲国家一线医院
  11. “抗疫”新战术:世卫组织联合IBM、甲骨文、微软构建了一个开放数据的区块链项目!...
  12. “死去活来”罗永浩:我就做千元机,你能把我怎么着!
  13. java ide排名_Java程序员的困惑,Java IDE到底怎么选
  14. python获取类函数的变量-python 动态获取当前运行的类名和函数名的方法
  15. 生成函数学习笔记心得
  16. 郁金香商业辅助教程 2016 笔记 1~5
  17. 双引号在python中什么意思_Python中单引号和双引号的作用
  18. 强化学习入门1—多臂老虎机Multi-armed Bandits
  19. 80c51单片机编程语言是什么,80c51单片机的ram分为几个部分各有什么特点和功能...
  20. esxi虚拟服务器网络搭建,小姜学网络(使用VMware ESXi 5.5搭建VMware虚拟化平台一)...

热门文章

  1. 拖链电缆 机器人电缆_洞头高柔性拖链网线标柔电缆
  2. 滴滴魅族手机人脸识别没有反应_手机UI颜值排名榜单,小米MIUI排到第九,魅族没有上榜...
  3. allegro差分信号走线_浅谈硬件设计中的一些思路和方法(5)—信号系统,又学到了...
  4. 大文件分片上传前端框架_js实现大文件分片上传的方法
  5. 怎么开启队友无伤_王者荣耀:玩刘禅的6个误区,这样连招可以无伤推塔!
  6. 【知乎直播】千奇百怪的CNN网络架构等你来
  7. 阿里巴巴副总裁王明强:速卖通向海外输出的跨境零售电商新模式,在全球范围内具备可复制性
  8. 全球及中国矢量超导磁体行业“十四五”竞争状况及投资前景策略分析报告2021-2027年版
  9. 秘鲁农业谋定出口-国际农民丰收节贸易会:期待对华准入
  10. 产业为主谋定共享运行-农业大健康·万祥军:特色化小镇时代