Python文件读写常见用法总结

yipeiwu_com5年前Python基础

1. 读取文件

# !/usr/bin/env python
# -*- coding:utf-8 -*-
"""
文件读取三步骤:
  1.打开文件
    f=open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)
      mode: r,w,a,b,+
  2.操作文件
    f.read(),把整个文件读入单一字符串
    f.read(N),读取之后的N个字节
    f.readlines(),读取整个文件到字符串列表
    f.readline(),读取下一行
  3.关闭文件
    f.close()
  f.seek(offset),移动文件指针位置
  f.flush(),把缓冲区数据刷到硬盘中
"""
f=open('吻别.txt',encoding='utf-8')
print(f)
data=f.read()
# data=f.readlines()
print(data)
f.close()

2. 写入文件

"""
文件写入三步骤:
  1.打开文件
  2.操作文件
    f.write()
    f.writelines(aList),把列表中所有的字符串写入文件
  3.关闭文件
"""
f=open('test.txt',mode='w',encoding='utf-8')
f.write('line01\n')
f.write('line02\n')
f.close()

3. 文件也是迭代器

# !/usr/bin/env python
# -*- coding:utf-8 -*-
from collections import Iterable
try:
  f=open('吻别.txt',mode='r',encoding='utf-8')
  print(isinstance(f, Iterable)) # True,文件也是迭代器类型
  for line in f:
    print(line,end='')
finally:
  f.close()

4. 使用上下文管理器自动关闭文件

with open('test.txt',mode='w',encoding='utf-8') as f:
  f.write('line01\nline02\n')
with open('test.txt') as f:
  data = f.read()
  print(data)

5. 读写二进制文件

with open('美猴王.jpg',mode='rb') as fin,open('美猴王_copy.jpg',mode='wb') as fout:
  data=fin.read()
  fout.write(data)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对【听图阁-专注于Python设计】的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

python利用插值法对折线进行平滑曲线处理

python利用插值法对折线进行平滑曲线处理

在用python绘图的时候,经常由于数据的原因导致画出来的图折线分界过于明显,因此需要对原数据绘制的折线进行平滑处理,本文介绍利用插值法进行平滑曲线处理: 实现所需的库 numpy、sc...

flask中过滤器的使用详解

过滤器 过滤器的本质就是函数。有时候我们不仅仅只是需要输出变量的值,我们还需要修改变量的显示,甚至格式化、运算等等,而在模板中是不能直接调用 Python 中的某些方法,那么这就用到了...

使用Python保存网页上的图片或者保存页面为截图

使用Python保存网页上的图片或者保存页面为截图

Python保存网页图片 这个是个比较简单的例子,网页中的图片地址都是使用'http://。。。。.jpg'这种方式直接定义的。 使用前,可以先建立好一个文件夹用于保存图片,本例子中使用...

Python+pyplot绘制带文本标注的柱状图方法

Python+pyplot绘制带文本标注的柱状图方法

如下所示: import numpy as np import matplotlib.pyplot as plt # 生成测试数据 x = np.linspace(0, 10,...

python对list中的每个元素进行某种操作的方法

如下所示: ''' 对列表中的每个元素进行某种操作 ''' def add(c): return c**2 l = [1,2,3] d1 = map(add,l) print d...