Python文件读写常见用法总结

yipeiwu_com7年前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在Windows下安装setuptools(easy_install工具)步骤详解

python在Windows下安装setuptools(easy_install工具)步骤详解

本文讲述了python在Windows下安装setuptools(easy_install工具)的方法。分享给大家供大家参考,具体如下: 【题外话介绍下setuptools】 setup...

举例讲解Python面相对象编程中对象的属性与类的方法

python 对象的属性 进入正题,来看一个实例来了解python中类,对象中公有属性,私有属性及局部变量,全局变量的区别. root@10.1.6.200:~# cat objec...

python实现下载整个ftp目录的方法

前言 最近因为业务需求,就写了这个脚本,脚本完成的任务是从FTP上下载一个目录,大家都知道从FTP上下载一个文件可用用get命令,下载多个文件可以用mget,但你要下载一个目录,对不起,...

Python 3.x 新特性及10大变化

Python 3.x 起始版本是Python 3.0,目前的最新版本是 3.3.3 Python之父Guido van Rossum谈到了Python 3.0的构思: 一直以来,除非要打...

详解Python的Django框架中inclusion_tag的使用

另外一类常用的模板标签是通过渲染 其他 模板显示数据的。 比如说,Django的后台管理界面,它使用了自定义的模板标签来显示新增/编辑表单页面下部的按钮。 那些按钮看起来总是一样的,但是...