## 打开一个文件

- fileobj = open(filename, mode)

其中:

fileobj是open()返回的文件对象

filename是该文件的字符串名

mode是指明文件类型和操作的子字符串

- mode的第一个字母表示对其的操作

- r表示读取

- w表示写入,如果文件不存在就创建,如果存在则重新写入新内容

- x表示在文件不存在的情况下新创建并写文件

- a表示如果文件存在,在文件末尾追加内容

- mode的第二个字母是文件类型

- t(或者省略)代表文本类型

- b代表二进制文件

## 使用write()写入文件,使用close()关闭文件

1 poem = """

2 离离原上草,一岁一枯荣。3 野火烧不尽,春风吹又生。4 远芳侵古道,晴翠接荒城。5 又送王孙去,萋萋满别情。6 """

7 file_obj = open("诗", 'wt') #打开名为‘诗’的文本文件,若‘诗’不存在则创建

8 file_obj.write(poem) #写入文件

9 file_obj.close() #关闭文件

- 也可以使用print()写入文件

1 poem = """

2 离离原上草,一岁一枯荣。3 野火烧不尽,春风吹又生。4 远芳侵古道,晴翠接荒城。5 又送王孙去,萋萋满别情。6 """

7 file_obj = open("诗", 'wt') #打开名为‘诗’的文本文件,若‘诗’不存在则创建

8 print(poem, file=file_obj) #写入文件

9 file_obj.close() #关闭文件

- 如果需要写入的内容非常多,可以将数据分块写入

1 poem = """

2 离离原上草,一岁一枯荣。3 野火烧不尽,春风吹又生。4 远芳侵古道,晴翠接荒城。5 又送王孙去,萋萋满别情。6 """

7 file_obj = open("诗", 'wt') #打开名为‘诗’的文本文件,若‘诗’不存在则创建

8

9 start =010 chunk = 20 #每次写入20个字符

11 whileTrue:12 if start >len(poem):13 break

14 file_obj.write(poem[start:start+chunk])15 start +=chunk16

17 file_obj.close() #关闭文件

## 文件读取

- read():不带参数的read()函数一次读取文件的所有内容

1 file_obj = open("诗", 'rt') #使用读取模式打开文本文件

2 poem = file_obj.read() #读取文件中所有内容

3 file_obj.close() #关闭文件

4 print(poem)5 """

6 输出:7 离离原上草,一岁一枯荣。8 野火烧不尽,春风吹又生。9 远芳侵古道,晴翠接荒城。10 又送王孙去,萋萋满别情。11 """

- 同样可以分块读取

1 poem = ''

2 file_onj = open("诗", 'rt')3 chunk = 20 #每次读取20个字符

4 whileTrue:5 frag =file_onj.read(chunk)6 if not frag: #读到文件末尾时再次调用read()函数会返回空字符串,not frag为真,执行break

7 break

8 poem +=frag9

10 print(poem)11 """

12 输出:13 离离原上草,一岁一枯荣。14 野火烧不尽,春风吹又生。15 远芳侵古道,晴翠接荒城。16 又送王孙去,萋萋满别情。17 """

- 一行一行的读取

1 poem = ''

2 file_obj = open('诗', 'rt')3 whileTrue:4 line =file_obj.readline()5 if notline:6 break

7 poem +=line8

9 print(poem)10 """

11 输出:12 离离原上草,一岁一枯荣。13 野火烧不尽,春风吹又生。14 远芳侵古道,晴翠接荒城。15 又送王孙去,萋萋满别情。16 """

- 使用迭代器读取文件

1 poem = ''

2 file_obj = open("诗", 'rt')3 for line in file_obj: #效果相同,但代码更短

4 poem +=line5

6 print(poem)7 """

8 输出:9 离离原上草,一岁一枯荣。10 野火烧不尽,春风吹又生。11 远芳侵古道,晴翠接荒城。12 又送王孙去,萋萋满别情。13 """

- readlines():每次读取一行,并返回单行字符串的列表

1 file_obj = open("诗", 'rt')2 lines =file_obj.readlines()3 print(lines)4 for line inlines:5 print(line, end='')6

7 """

8 ['\n', ' 离离原上草,一岁一枯荣。\n', ' 野火烧不尽,春风吹又生。\n', ' 远芳侵古道,晴翠接荒城。\n', ' 又送王孙去,萋萋满别情。\n']9

10 离离原上草,一岁一枯荣。11 野火烧不尽,春风吹又生。12 远芳侵古道,晴翠接荒城。13 又送王孙去,萋萋满别情。14 """

## write()写入二进制文件

1 bin_data = bytes(range(0, 255)) #将序列转换为二进制数据

2 f = open('bin_file', 'wb') #以二进制文件的格式打开文件

3 f.write(bin_data) #写入

4 f.close() #关闭

- 分段写入

1 bin_data = bytes(range(0, 255))2 f = open('bin_file', 'wb')3 chunk = 100 #每次写入100个字节

4 offset =05 whileTrue:6 if offset >len(bin_date):7 break

8 f.write(bin_data[offset:chunk +offset])9 offset +=chunk10

11 f.close()

- 读取二进制文件

1 f = open('bin_file', 'rb')2 bin_data =f.read()3 f.close()

## 使用with自动关闭文件,with代码块执行完毕后自动关闭文件

1 with open("诗", 'rt') as f:2 poem =f.read()3

4 print(poem)5 """

6 输出:7 离离原上草,一岁一枯荣。8 野火烧不尽,春风吹又生。9 远芳侵古道,晴翠接荒城。10 又送王孙去,萋萋满别情。11 """

本文参考:

[美]Bill Lubanovic 《Python语言及其应用》

python文件io是啥意思_Python文件IO(普通文件读写)相关推荐

  1. python对excel表统计视频教程_Python实现对excel文件列表值进行统计的方法

    本文实例讲述了Python实现对excel文件列表值进行统计的方法.分享给大家供大家参考.具体如下: #!/usr/bin/env python #coding=gbk #此PY用来统计一个execl ...

  2. python中os模块详解_Python OS模块(常见文件操作示例)

    1 Python 常见文件操作示例 2. 3. os.path 模块中的路径名访问函数 4. 分隔 5. basename() 去掉目录路径 , 返回文件名 6. dirname() 去掉文件名 , ...

  3. python对csv文件中的数据进行分类_python 数据处理 对csv文件进行数据处理

    数据如下图: 用python对数据进行处理: #读取csv文件内容并进行数据处理 import os import csv import datetime import re from itertoo ...

  4. python 读取文件到字典读取顺序_python顺序的读取文件夹下名称有序的文件方法...

    python顺序的读取文件夹下名称有序的文件方法 如下所示: import os path="/home/test/" #待读取的文件夹 path_list=os.listdir( ...

  5. python文件包括两种类型_python第六篇文件处理类型

    阅读目录 文件处理 上节课复习 文件处理b模式 文件处理其他模式 seek 的补充 迭代器和生成器 生成器函数 生产者和消费者类型 19天作业讲解 一 文件操作 一 介绍 计算机系统分为:计算机硬件, ...

  6. python导入文件夹数据有改动_python办公自动化--批量修改文件/文件夹名称

    导语 今天我们来看下如何批量修改名称.这个需求在工作中比较常见的,日常生活中可能也有此类需求,比如,打包下载了一部连续剧或有声读物,每个文件名却被加上了网址.网站名称,还有一些莫名其妙的符号,整得特别 ...

  7. python第七章文件和数据格式化选择题_python第七章-文件和数据格式化

    1.文本文件 vs 二进制文件#文本形式打开文件 tf = open("f.txt", "rt") print(tf.readline()) tf.close( ...

  8. python xlrd写入表格数据溢出_python 使用 xlrd、xlwd读写excel表格

    xlrd和xlw介绍 ♦python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库. 如果要对其内容进行编辑的话稍稍有些麻烦,通常的做法是使用x ...

  9. python中的mat什么意思_python mat是什么文件

    .mat就是matlab的文件格式,一般用于matlab和python间的数据传输,python中numpy和scipy提供了一些函数,可以很好的对.mat文件的数据进行读写和处理. 在python中 ...

  10. cmd执行python 环境变量应该怎么写_python怎么运行py文件?.py文件cmd命令方法及环境变量配置教程...

    python是一款应用非常广泛的脚本程序语言,谷歌公司的网页就是用python编写.python在生物信息.统计.网页制作.计算等多个领域都体现出了强大的功能.python和其他脚本语言如java.R ...

最新文章

  1. 这样的烂代码,我实习的时候都写不出来!
  2. 如何处理异常? catch Exception OR catch Throwable
  3. [转]thinkphp 模板显示display和assign的用法
  4. JQuery图片加载显示loading和加载失败默认图片
  5. 自定义工具类:导入工具类测试
  6. RoboGuice入门
  7. 电脑软件:微软Windows官方电脑管家,仅针对国内用户?看看怎么说
  8. P3750-[六省联考2017]分手是祝愿【期望dp】
  9. Theano 中文文档 0.9 - 6. 更新Theano
  10. 心率 心律 脉率的区别
  11. 计算机文化基础考试 名词解释,《计算机文化基础》模拟试卷.doc
  12. Cisco ASA 5505 (Version 9.X)的 LAN上网和NAT的配置
  13. 怎么让HTML的属性横着排,css标签怎么设置横向排列
  14. C++中STL用法超详细总结
  15. 未能将管道连接到虚拟机: 所有的管道范例都在使用中
  16. Excel表格如何快速隔行填充指定颜色
  17. 工欲善其事,必先利其器之-mac下使用zsh
  18. CSUC语言期中考试 小帅疯狂搞事
  19. 城市垃圾渗滤液除氨氮的技术分享
  20. Day_2 HTML5 格式化文本、段落与列表

热门文章

  1. JRoll 2 使用文档(史上最强大的下拉刷新,滚动,无限加载插件)
  2. hbase developer API 1.22版
  3. mysql登陆提示ERROR 1045 (28000): Access denied for user
  4. Spring+ActiveMQ配置
  5. vsftpd虚拟用户配置
  6. BCH到底该采用哪种交易排序规则?
  7. 五千万美元注资孵化器,ETC能实现绝地反击吗?
  8. AES加密_ js与C#互通
  9. laravel 模型查找数据
  10. 9. IntelliJ Idea 集成svn 和使用