1. 关于读取文件

f.read() 读取文件中所有内容
f.readline() 读取第一行的内容
f.readlines() 读取文件里面所有内容,把每行的内容放到一个list里面

注:因为文件指针的作用,如果以上方法连用,会有读取影响

使用方法请参见:http://www.cnblogs.com/yun1108/p/8967334.html

2. f.flush()   :刷新缓冲区,立即写到磁盘上

3. f.seek(index) : 移动文件指针到指定的下标处,即从指定的下标处开始读取文件,但写入还是从最后开始写入

4. with open : 用完后自动关闭文件,省去了手动添加f.close()功能  例子:修改文件

# 第一种,适合读取小一些的文件
with open('users','a+') as fw:
fw.seek(0) #用r+,就可省略这一步
result = fw.read()
new_result = result.replace('bcd','python')
fw.seek(0)
fw.truncate() #清空文件内容
fw.write(new_result)
print(new_result) # 第二种,读取大文件并修改
import os
with open('users') as fr,open('.users','w',encoding='utf-8') as fw: #.users是一个临时文件
for line in fr:#从需要修改的文件里面读文件
new_line=line.replace('python','修改文件')
fw.write(new_line)
os.remove('users') #删除原文件
os.rename('.users','users') #将临时文件重命名为users

5. 循环文件 --- 高效读取文件

f=open('users','a+',encoding='utf-8')  # f:文件对象,或者文件句柄
#文件中内容为:
# abc,123
# qwe,456 # 1. 循环读取文件中的内容并存入字典
d={}
f.seek(0)
while 1: #第一种,但要求文件里不能有空行,如有空行,则只能读取到空行的上一行
line=f.readline().strip()
if line:
# pass #什么也不做
user,passwd=line.split(',')
d[user]=passwd
else:
break
print(d) #输出内容:{'abc': '123', 'qwe': '456'} # 2. 直接循环文件对象f,每次取的就是文件里的每一行
f.seek(0) # 如果open文件时是r+,可省略这步
for i in f:
print('每次循环的是',i)
#输出内容:
#每次循环的是 abc,123
#每次循环的是 qwe,456 l=['abc123\n','bcd123\n']
f.writelines(l)#会循环list里面的每个元素并写进文件中,此方法用于list,如果是字符串则直接用write写即可
#文件中的内容更新为:
# abc,123
# qwe,456
# abc123
# bcd123

6. encoding='utf-8' : 如果读写的文件中有中文,要加上

最新文章

  1. WCF服务编程
  2. 基本排序算法——插入排序java实现
  3. ACM: 还是畅通工程-并查集-最小生成树-解题报
  4. 精通AngularJS 读书笔记(1)
  5. cpu缓存与多线程
  6. poj2184 背包
  7. 使用最小堆来完成k路归并 6.5-8
  8. lintcode:Flip Bits 将整数A转换为B
  9. HttpClient Post Get请求方法,留在以后可能会用到
  10. 在mysql中创建存储过程出现1307错误,解决方法
  11. MSSQL - 通用存储过程
  12. hdu1114
  13. CJOJ 1308 【HNOI 2002 】营业额统计 / CodeVS 1296 营业额统计(STL,二分)
  14. Core 核心标签库->运算式操作
  15. Java遍历文件目录
  16. tomcat环境配置 Linux 与 Windows
  17. js jquery 获取元素(父节点,子节点,兄弟节点),元素筛选
  18. Python实现Mysql数据库连接池
  19. VMware虚拟机安装WIN7
  20. Codeforces 439E Devu and Birthday Celebration 容斥

热门文章

  1. A1057. Stack
  2. 第一篇 - bsp抓取python中文开发者社区中的所有高级教程
  3. (字符串 枚举)The Hardest Problem Ever hdu1048
  4. (转载) python3: beautifulsoup的使用
  5. vim: 基本知识;
  6. HDU5542 BIT优化dp
  7. xlrd(excel导入mysql数据库)
  8. Bootstrap模态框修改出现的位置和大小
  9. Linux学习笔记:【002】ARM指令流水线
  10. bootstrap 在线设计工具layout IT