1.python文件对象提供了三个“读”方法: read()、readline() 和 readlines()。每种方法可以接受一个变量以限制每次读取的数据量。

  • read() 每次读取整个文件,它通常用于将文件内容放到一个字符串变量中。如果文件大于可用内存,为了保险起见,可以反复调用read(size)方法,每次最多读取size个字节的内容。
  • readlines() 之间的差异是后者一次读取整个文件,象 .read() 一样。.readlines() 自动将文件内容分析成一个行的列表,该列表可以由 Python 的 for ... in ... 结构进行处理。
  • readline() 每次只读取一行,通常比readlines() 慢得多。仅当没有足够内存可以一次读取整个文件时,才应该使用 readline()。

这三种方法是把每行末尾的'\n'也读进来了,它并不会默认的把'\n'去掉,需要我们手动去掉。

with open('test1.txt', 'r') as f1:list1 = f1.readlines()
for i in range(0, len(list1)):list1[i] = list1[i].rstrip('\n')

2.由于文件读写时都有可能产生IOError,一旦出错,后面的f.close()就不会调用。所以,为了保证无论是否出错都能正确地关闭文件,我们可以使用try ... finally来实现:

try:f = open('/path/to/file', 'r')print(f.read())
finally:if f:f.close()但是每次都这么写实在太繁琐,所以,Python引入了with语句来自动帮我们调用close()方法:
with open('/path/to/file', 'r') as f:print(f.read())3.

一个python面试题的例子:

有两个文件,每个都有很多行ip地址,求出两个文件中相同的ip地址:

# coding:utf-8
import bisect

with open('test1.txt', 'r') as f1:
list1 = f1.readlines()
for i in range(0, len(list1)):
list1[i] = list1[i].strip('\n')
with open('test2.txt', 'r') as f2:
list2 = f2.readlines()
for i in range(0, len(list2)):
list2[i] = list2[i].strip('\n')

list2.sort()
length_2 = len(list2)
same_data = []
for i in list1:
pos = bisect.bisect_left(list2, i)
if pos < len(list2) and list2[pos] == i:
same_data.append(i)
same_data = list(set(same_data))
print(same_data)

转载于:https://www.cnblogs.com/awen2968/p/10001589.html

python自动化第三周---文件读写相关推荐

  1. python第二十九课——文件读写(复制文件)

    自定义函数:实现文件复制操作有形参(2个) 没有返回值相似版(不用) def copyFile(src,dest):#1.打开两个文件:1个关联读操作,1个关联写操作fr=open(src,'rb') ...

  2. Python编程基础13:文件读写操作

    文章目录 一.文件概念 二.打开文件与关闭文件 (一)文件打开函数 - open() 1.函数作用 2.函数调用格式 (二)文件关闭函数 - close() 1.函数作用 2.函数调用格式 (三)文件 ...

  3. Python自动化办公学习- 获取文件夹下的所有文档的名字并存储到Excel

    Python自动化办公学习- 获取文件夹下的所有文档的名字并存储到Excel 这是我第一次学习使用csdn发布学习笔记,如有版权侵犯,引用不当的地方,请立即提示我,我会删除,谢谢. 笔记中如有解释错误 ...

  4. Python学习入门基础:文件读写操作、模块和包、异常

    一.文件 文件的概念 文件的基本操作 文件/文件夹的常用操作 文本文件的编码方式 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多 ...

  5. Python自动化办公:word文件操作教程

    在后台回复[阅读书籍] 即可获取python相关电子书~ Hi,我是山月. 之前给大家完整的介绍了用python操作excel的几个库:xlrd.xlwt.openpyxl. 山月也已经整理好了,还没 ...

  6. Python自动化办公:ppt文件操作教程

    在后台回复[阅读书籍] 即可获取python相关电子书~ Hi,我是山月. 之前和大家介绍了python操作excel和word文件的教程,今天来和大家介绍下python对ppt的操作. 在公众号后台 ...

  7. Python基础必掌握的文件读写操作详解

    读取和写入文件等操作是 Python 可以完成的最常见任务之一.无论是写入简单的文本文件,读取复杂的服务器日志,甚至分析原始字节数据,进行相关的处理操作,最终所有这些情况都需要读取或写入文件. 整套学 ...

  8. python读取rtf文件_【Python】【IO】文件读写

    一.打开的文件在使用完后要关闭 >>>f=file('fibs.py') #用''表示文件名 #无''表示变量名 >>>f.read() #打印fibs.py中的内 ...

  9. Python的第三周学习总结

    Day 11 2018.3.12 主要内容一:函数的参数 1. 定义可变参数 定义一个函数时需要确定传入的参数,当我们不知道传入的参数的个数时,可以将参数定义为一个元组或者列表传入函数.但是这样做往往 ...

最新文章

  1. 大数据学习之路(七)——学习小结
  2. ML之回归预测:以某个数据集为例从0到1深入理解科学预测之回归(实数值年龄预测)问题的思路框架
  3. 华为畅享9s可以升级鸿蒙吗,珍珠全面屏!华为畅享9S/9e正式发布:千元三摄加持...
  4. 组装式AI落地新模式,降低企业AI试错成本
  5. 解决C# Repeater内嵌Repeater 数据绑定,以及第二次层Repeater的ItemDataBound事件怎么处理...
  6. 通过分析系统日志,统计你的电脑开机时间的小程序PC PowerOn Time,附源码
  7. 输入URL经历的过程
  8. 计算机结构化思维学计算机,基于结构化知识的学习/思考机器和学习/思考方法以及计算机系统和信息生成方法...
  9. 2 docker镜像
  10. 输出100-1000之间的水仙花数 是三位数 水仙花数就是 每个位上的数字的三次方的和仍然为原数字 例如:153是一个“水仙花数“,因为153=1的三次方+5的三次方+3的三次方;
  11. python实现微信自动发信息软件_Python实现给微信好友自动发送消息的示例
  12. Acrel-2000Z电力监控系统的应用
  13. java实现马尔科夫链_马尔科夫链 Markov Chains(示例代码)
  14. Ubuntu修改/home下各目录为英文
  15. html微信录制视频,微信视频的时候怎么录制屏幕?这个方法超简单
  16. [K8S] PV动态供给
  17. 金山卫士界面源码解读及界面库分离(4)
  18. Silvaco TCAD LTPS双栅器件仿真收敛不了,有没有好的解决办法
  19. 6大热门开源自动化测试框架【建议收藏】
  20. hdu 1541 树状数组版)——咯咯

热门文章

  1. 史上最全的stm32资料库4---常见问题及编译工具篇
  2. 【Opencv-Ubuntu】论clone对Mat的重要性
  3. MSP430F5XXX中的ADC12使用
  4. React with Webpack -1: 介绍Helloworld
  5. sim卡rfm_信用卡客户的RFM集群
  6. 无监督学习 k-means_无监督学习-第1部分
  7. 如果城里人拿100万买你的农村宅基地,你愿意吗?
  8. 《花落红尘》:对两性社会非爱即恨的文学消解
  9. qt开发环境 - c++字符串操作
  10. php数组变量太大后台返回500,PHP max_input_var设为了1000导致post数组太多时无法接受后面的参数值...