文件I/O是Python中最重要的技术之一,在Python中对文件进行I/O操作是非常简单的。

1.打开文件

语法:

  1. open(name[, mode[, buffering]])

1.1文件模式

  1. 1 'r' 读模式
  2. 2 'w' 写模式
  3. 3 'a' 追加模式
  4. 4 'b' 二进制模式(可添加到其他模式使用)
  5. 5 '+' 读/写模式(可添加其他模式使用)

1.2缓冲区

open 函数的第三个参数( buffering ),表示文件的缓冲,当缓冲区大于0时(等于0时无缓冲,所有的读写操作都直接针对硬盘),Python会将文件内容存放到缓冲区(内存中),从而是程序运行的的更快,这时,只有使用 flush 或者 close 时才会将缓冲区中的数据更新到硬盘中。

2.文件的读写

2.1写入文件

  1. #!/usr/bin/python
  2. #-*- coding:UTF-8 -*-
  3. #打开文件
  4. f = open(r'D:\python\File\Pra_1.txt','w')
  5.  
  6. try :
  7. #写入文件
  8. f.write('My name is OLIVER')
  9.  
  10. finally:
  11. #关闭文件
  12. f.close()

2.2读取文件

  1. #!/usr/bin/python
  2. #-*- coding:UTF-8 -*-
  3. f = open(r'D:\python\File\Pra_1.txt','r')
  4. print(f.read())
  5. f.close()

3.文件特殊读取

3.1遍历每个字符,一次读取

方法一:

  1. #!/usr/bin/python
  2. #-*- coding:UTF-8 -*-
  3. f = open(r'D:\python\File\Pra_1.txt','r')
  4.  
  5. char = f.read(1)
  6. while char:
  7. print(char)
  8. char = f.read(1)
  9. f.close()

方法二:

  1. #!/usr/bin/python
  2. #-*- coding:UTF-8 -*-
  3. f = open(r'D:\python\File\Pra_1.txt','r')
  4. while True:
  5. line = f.read(1)
  6. if not line:break
  7. print(line)
  8. f.close()

3.2遍历每一行读取

Pra_2.txt文件内容:

  1. #!/usr/bin/python
  2. #-*- coding:UTF-8 -*-
  3. f = open(r'D:\python\File\Pra_2.txt','r')
  4.  
  5. while True:
  6. line = f.readline()
  7. if not line:break
  8. print(line)
  9. f.close()

读取结果:

【Python】学习笔记十一:文件I/O的更多相关文章

  1. Python学习笔记之文件处理

    1.打开和关闭 要打开文件可以使用函数 open(),它位于自动导入模块 io 中.函数将文件名作为唯一不可缺少的函数,并返回一个文件对象.它还有一个名叫 mode 的参数,用于指定文件模式,其可取值 ...

  2. [Python学习笔记]组织文件

    shutil 模块 shutil 模块可以让我们很方便的在Python程序中复制.移动.改名和删除文件. 复制文件和文件夹 使用shutil.copy()来复制文件,该函数含两个参数,均为字符串格式的 ...

  3. Python学习笔记015——文件file的常规操作之一(文本文件)

    1 什么是文件 文件是用于数据存储的单位 文件通常用来长期保存数据 读写文件是最常见的I/O操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件的功能都是由操作系统提供的,一般而言,操 ...

  4. python学习笔记(11):文件的访问与函数式编程

    一.文本文件读写的三种方法 1.直接读入 file1 = open('E:/hello/hello.txt') file2 = open('output.txt','w') #w是可写的文件 whil ...

  5. python学习笔记(7)文件的访问与函数式编程

    一.文件读写的3中方法 1.直接读入 fiel1=open('test.txt') file2=open('output.txt') while True: line=file1.readLine() ...

  6. python学习笔记(六)---文件操作与异常处理机制

    文件读取 读取整个文件 要读取文件,需要一个包含几行文本的文件.下面首先来创建一个文件,它包含精确到小数点后30位的圆周率值,且在小数点后每10位处都换行: pi_digits.txt 3.14159 ...

  7. 转载-Python学习笔记之文件读写

    Python 文件读写 Python内置了读写文件的函数,用法和C是兼容的.本节介绍内容大致有:文件的打开/关闭.文件对象.文件的读写等. 本章节仅示例介绍 TXT 类型文档的读写,也就是最基础的文件 ...

  8. python学习笔记之文件操作(三)

    这篇博客小波主要介绍一下python对文件的操作 对文件的操作主要分为三步: 1.打开文件获取文件的句柄,句柄也是文件描述符 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件,是小波随写的周杰伦 ...

  9. python学习笔记4(文件操作)

    文件操作: 1.f=open(”caidan”,”w”,encoding=”utf8”)      直接打开一个文件,如果文件不存在则创建文件 f.close() 2.with open (”caid ...

  10. 转载-python学习笔记之文件I/O

    Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档. 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你 ...

随机推荐

  1. 【JavaScript】JS将Java的Timestamp转为Date类型

    遇到一个小需求,由于要填充日期插件里的数据,前台要把java后台传来的Date类型的数据转成YYYY-MM-DD格式的时间数据.通过json传输,Java的Date类型的数据自动转成了时间戳,例如 “ ...

  2. Memory Allocation with COBOL

    Generally, the use of a table/array (Static Memory) is most common in COBOL modules in an applicatio ...

  3. Python开发基础-Day9-生成器、三元表达式、列表生成式、生成器表达式

    生成器 生成器函数:函数体内包含有yield关键字,该函数执行的结果是生成器,生成器在本质上就是迭代器. def foo(): print('first------>') yield 1 pri ...

  4. 【BZOJ 2878】 2878: [Noi2012]迷失游乐园 (环套树、树形概率DP)

    2878: [Noi2012]迷失游乐园 Description 放假了,小Z觉得呆在家里特别无聊,于是决定一个人去游乐园玩.进入游乐园后,小Z看了看游乐园的地图,发现可以将游乐园抽象成有n个景点.m ...

  5. BZOJ 1098 [POI2007]办公楼biu(反向图bfs+并查集优化)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1098 [题目大意] 现在有一张图,要求将这张图的点划分为尽量多的分组,对于不同分组的两 ...

  6. Codeforces Round #343 (Div. 2) C. Famil Door and Brackets dp

    C. Famil Door and Brackets 题目连接: http://www.codeforces.com/contest/629/problem/C Description As Fami ...

  7. CentOS 6.9/Ubuntu 16.04源码安装RabbitMQ(二进制包tar.gz)

    说明:CentOS的安装方式同样适合在Ubuntu中,把源改成APT即可. 一.安装erlang: 下载erlang: 从Erlang的官网http://www.erlang.org/download ...

  8. Apache2.4.6添加虚拟主机提示:NameVirtualHost has no effect and will be removed in the next release /usr/local/apache/conf/extra/httpd-vhosts.conf

    [root@localhost conf]# service httpd restart 停止 httpd: [确定] 启动 httpd:AH00548: NameVirtualHost has no ...

  9. Oracle 11gR2 RAC 数据库不能连接(ORA-12537: TNS:connection closed)的解决

        Oracle 11gR2 RAC 数据库不能连接(ORA-12537: TNS:connection closed)的解决 [oracle@rac01 ~]$ sqlplus /nolog S ...

  10. meteor学习-- #一 安装meteor快速使用

    下载安装 curl https://install.meteor.com/ | sh meteor会自动下载mongodb和其他需要依赖的库,不需要手动安装. 如果是Windows 的用户,请使用 m ...