读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。

一、open() 方法

Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。

完整的语法格式为:open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

二、读文件

打开一个文件用open()方法(open()返回一个文件对象,它是可迭代的):f = open('test.txt', 'r')

标示符'r'表示读,这样,我们就成功地打开了一个文件。#!/usr/bin/python

# -*- coding: UTF-8 -*-

print('执行读方法1')

try:

f = open('1.txt', 'r',encoding='UTF-8')

print("文件内容:"+f.read())

finally:

if f:

f.close()

print("执行读方法2")

with open('1.txt', 'r',encoding='UTF-8') as f:

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

Python引入了with语句来自动帮我们调用close()方法。

python文件对象提供了三个“读”方法: read()、readline() 和 readlines()。每种方法可以接受一个变量以限制每次读取的数据量。read() 每次读取整个文件,它通常用于将文件内容放到一个字符串变量中。如果文件大于可用内存,为了保险起见,可以反复调用read(size)方法,每次最多读取size个字节的内容。

readlines() 之间的差异是后者一次读取整个文件,象 .read() 一样。.readlines() 自动将文件内容分析成一个行的列表,该列表可以由 Python 的 for ... in ... 结构进行处理。

readline() 每次只读取一行,通常比readlines() 慢得多。仅当没有足够内存可以一次读取整个文件时,才应该使用 readline()。

三、写文件

写文件和读文件是一样的,唯一区别是调用open()函数时,传入标识符'w'或者'wb'表示写文本文件或写二进制文件。

python文件对象提供了两个“写”方法: write() 和 writelines()。write()方法和read()、readline()方法对应,是将字符串写入到文件中。

writelines()方法和readlines()方法对应,也是针对列表的操作。它接收一个字符串列表作为参数,将他们写入到文件中,换行符不会自动的加入,因此,需要显式的加入换行符。#!/usr/bin/python

# -*- coding: UTF-8 -*-

print("执行写方法1")

f = open('1.txt', 'w')

f.write('hi-laoz.com')

f.close()

print("执行写方法2")

with open('2.txt', 'w') as f:

f.write('1668s.com')

print("执行写方法3")

f1 = open('3.txt', 'w')

f1.writelines(["hi-laoz.com\n", "1668s.com\n", "qq.com\n"])

三、文件追加内容

调用open()函数时,可以传入'a'以追加(append)模式写入,表示打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。f = open('1.txt', 'a', encoding='utf8') #在最后一行追加

f.write('\n在最后一行追加')

python 读bin文件_Python学习 | Python 读写文件-bin文件打开相关推荐

  1. python如何读pst文件_Python 学习 第11篇:文件读写

    Python的文件是一个重要的对象,使用open()函数来打开文件,创建文件对象,进行文件的读写操作.当数据用于交换信息时,通常需要把数据保存为有格式的文本数据,可以保存为有特定的行分隔符和列分隔符的 ...

  2. python动态粒子素材_python学习笔记之十:文件和素材

    这里将介绍函数和对象--文件和流,让你在程序调用期间存储数据,并且可以处理来自其他程序的数据. 一. 打开文件 1.1 open函数 open函数用来打开文件,语法如下:open(name,[.mod ...

  3. python 等号报错_Python学习----Python基础

    Python基础 一.数据类型和变量 1.在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量. 例如: a =520# a是整数prin ...

  4. c++ 写入文件_Python学习第52课-写入文件

    [每天几分钟,从零入门python编程的世界!] Python操作外部文件的数据,既然有读取,就会有写入.我们现在学习用Python写入文件. 顺便提一点小小的计算机知识,我们人类读取一个文件,一般是 ...

  5. python永久保存数据_Python学习笔记(四)——文件永久存储

    文件的永久存储 pickle模块的使用 pickle的实质就是将数据对象以二进制的形式存储 存储数据 pickle.dump(data,file) data表示想要存储的数据元素,file表示要将数据 ...

  6. python从入门到_Python学习路线从入门到上手,如何快速Python学习?

    因为清晰易读的风格,广泛的适用性,Python已经成为最受欢迎的编程语言之一.在TIOBE 排行榜中位居第四,是名副其实的人工智能第一语言. 风靡的另一个原因是,Python有非常多的第三方库.比如用 ...

  7. python的codecs模块_Python:使用codecs模块进行文件操作及消除文件中的BOM

    前言 此前遇到过UTF8格式的文件有无BOM的导致的问题,最近在做自动化测试,读写配置文件时又遇到类似的问题,和此前一样,又是折腾了挺久之后,通过工具比较才知道原因. image 两次在一个问题上面栽 ...

  8. python入门教材论坛_GitHub - aisuhua/codeparkshare: Python初学者(零基础学习Python、Python入门)书籍、视频、资料、社区推荐...

    PythonShare Python初学者(零基础学习Python.Python入门)书籍.视频.资料.社区推荐 本文 主要 针对 零基础 想学习Python者.本文本文由@史江歌(shijiangg ...

  9. python 干什么工作具有明显优势-科多大数据告诉你Python为什么这么牛?学习python有什么优势?...

    原标题:科多大数据告诉你Python为什么这么牛?学习python有什么优势? 选择要学习的技术和选择要上的大学一样重要,如果选错了,你将来不仅得不到自己喜欢的高薪工作,反而会弄得一堆麻烦.如果你打开 ...

  10. python gui编程书籍_GitHub - ZhaoGui/codeparkshare: Python初学者(零基础学习Python、Python入门)书籍、视频、资料、社区推荐...

    PythonShare Python初学者(零基础学习Python.Python入门)书籍.视频.资料.社区推荐 本文 主要 针对 零基础 想学习Python者.本文本文由@史江歌(shijiangg ...

最新文章

  1. No module named ‘tensorflow.contrib‘
  2. etcd — 安装部署
  3. c#中将对象序列化为xml(包括list)
  4. 超干货 | 一线从业者实践案例大分享:3个tips实现用户增长
  5. android开发将h5转换成pdf_一键将PDF转换成PPT,秒懂!
  6. Python爬虫基础:验证码的爬取和识别详解
  7. 此上下文中不允许函数定义。_彻底搞懂上下文this,轻松应对,一面就过!!!...
  8. Java并发编程的艺术笔记(四)——ThreadLocal的使用
  9. MySQL语法一:数据定义语句
  10. httd及其ab测试工具
  11. django——三种方式实现文件下载
  12. Linux在线词典项目,实现注册,登陆,查询单词以及查询历史记录,退出查询等功能,(涉及网络编程,进程线程,文件io,sqlite)
  13. 关于自动量程万用表和自动档位万用表使用
  14. P2P银行卡绑定(银行卡四要素)
  15. Springboot实现发送邮件功能
  16. 四级英语口语模拟测试软件,英语四级口语模拟题:非常有用
  17. Python数据分析与可视化(基础知识)Python基础
  18. TensorFlow TFRecords简介
  19. 音频电平vu显示表软件下载_正点原子开拓者 Nios II资料连载第十章MCU TFT-LCD图片显示实验...
  20. css新特性:线性渐变详解(重复性线性渐变、径向渐变、重复性径向渐变的使用)

热门文章

  1. 又双叒叕上调派送费,这次“四通一达”们能坚持多久?
  2. robots文件简介
  3. 加油中国,雄起汶川-快乐工作,快乐生活(多图)
  4. php加密---六种加密方式
  5. 情境领导者的三体思维
  6. php unpack,PHP中的pack和unpack函数
  7. 厉害了,Pandas表格还能五彩斑斓的展示数据,究竟是怎么做到的呢?
  8. Windows漏洞修复报告
  9. Windows系统查看电脑系统信息(操作系统与版本、系统型号、处理器具体型号、BIOS版本、BIOS模式、主板信息等等)
  10. java小游戏_Java开发小游戏,30分钟教会你