python之文件操作总结
文件:数据的抽象和集合
- 文件是存储在辅助存储器上的数据序列
- 文件是数据存储的一种形式
- 文件展现形态:文本文件和二进制文件
文本文件 VS. 二进制文件
- 文件文件和二进制文件只是文件的展示方式
- 本质上,所有文件都是二进制形式存储
- 形式上,所有文件采用两种方式展示
文本文件
- 由单一特定编码组成的文件,如UTF-8编码
- 由于存在编码,也被看成是存储着的长字符串
- 适用于例如:.txt文件、.py文件等
二进制文件
- 直接由比特0和1组成,没有统一字符编码
- 一般存在二进制0和1的组织结构,即文件格式
- 适用于例如:.png文件、.avi文件等
文件的打开关闭
文件处理的步骤: 打开 - 操作 - 关闭

file_object = open("filename", "openmode")
... #操作
file_object.close()
with open("filename", "openmode") as file_object:
... #操作
filename:文件路径及名称,当与源文件同目录是可省略路径openmode:打开模式,文本or二进制,读or写
打开模式
| openmode | details |
|---|---|
| 'r' | 只读模式,默认值,如果文件不存在,返回FileNotFoundError |
| 'w' | 覆盖写模式,文件不存在则创建,存在则完全覆盖 |
| 'x' | 创建写模式,文件不存在则创建,存在则返回FileExistsError |
| 'a' | 追加写模式,文件不存在则创建,存在则在文件最后追加内容 |
| 'b' | 二进制文件模式 |
| 't' | 文本文件模式,默认值 |
| '+' | 与r/w/x/a一同使用,在原功能基础上增加同时读写功能 |
文件内容的读取
| operation | details |
|---|---|
| f.read(size=-1) | 读入全部内容,如果给出参数,读入前size长度 |
| f.readline(size=-1) | 读入一行内容,如果给出参数,读入该行前size长度 |
| f.readlines(hint=-1) | 读入文件所有行,以每行为元素形成列表,如果给出参数,读入前hint行 |
| f.write(s) | 向文件写入一个字符串或字节流 |
| f.writelines(lines) | 将一个元素全为字符串的列表写入文件 |
| f.seek(offset) | 改变当前文件操作指针的位置,offset含义如下:0 – 文件开头; 1 – 当前位置; 2 – 文件结尾 |
文件的全文本操作
一次读入,统一处理
fo = open(fname,"r")
txt = fo.read()
...#对全文txt进行处理
fo.close()
按数量读入,逐步处理
fo = open(fname,"r")
txt = fo.read(2)
while txt != "":
#对txt进行处理
txt = fo.read(2)
fo.close()
文件的逐行操作
一次读入,分行处理
fo = open(fname,"r")
for line in fo.readlines():
print(line)
fo.close()
分行读入,逐行处理
fo = open(fname,"r")
for line in fo:
print(line)
fo.close()
数据文件的写入
fo = open("output.txt","w+")
ls = ["China", "France", "America"]
fo.writelines(ls)
fo.seek(0)
for line in fo:
print(line)
fo.close()
使用json模块
.json 文件中存储的数据结构为列表或字典。
json.dump() 用来存储数据到json文件中,接受两个实参:要存储的数据和用于存储数据的文件对象
import json
numbers = [1, 2, 3, 4, 5, 6]
filename = 'number.json'
with open(filename, 'w') as f_obj:
json.dump(numbers, f_obj)
则number.json文件中的内容的格式与python中一样,为列表[1, 2, 3, 4, 5, 6]
json.load() 用来从json文件读取数据到内存中
import json
filename = 'number.json'
with open(filename, 'r') as f_obj:
numbers = json.load(f_obj)
则numbers为列表[1, 2, 3, 4, 5, 6]
Reference
- Python语言程序设计: http://www.icourse163.org/learn/BIT-268001
- Eric Matthes. Python Crash Course[M]. https://book.douban.com/subject/26284937
< 完 >
转载请注明原文链接:< https://www.cnblogs.com/tzhao/p/9855232.html >,谢谢!
python之文件操作总结的更多相关文章
- Python :open文件操作,配合read()使用!
python:open/文件操作 open/文件操作f=open('/tmp/hello','w') #open(路径+文件名,读写模式) 如何打开文件 handle=open(file_name,a ...
- Python 常见文件操作的函数示例(转)
转自:http://www.cnblogs.com/txw1958/archive/2012/03/08/2385540.html # -*-coding:utf8 -*- ''''' Python常 ...
- 孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容
孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.打开文件后,要务必记得关闭,所以一般的写法应当 ...
- 孤荷凌寒自学python第三十三天python的文件操作初识
孤荷凌寒自学python第三十三天python的文件操作初识 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天开始自学python的普通 文件操作部分的内容. 一.python的文件打开 ...
- python中文件操作的六种模式及对文件某一行进行修改的方法
一.python中文件操作的六种模式分为:r,w,a,r+,w+,a+ r叫做只读模式,只可以读取,不可以写入 w叫做写入模式,只可以写入,不可以读取 a叫做追加写入模式,只可以在末尾追加内容,不可以 ...
- python中文件操作的其他方法
前面介绍过Python中文件操作的一般方法,包括打开,写入,关闭.本文中介绍下python中关于文件操作的其他比较常用的一些方法. 首先创建一个文件poems: p=open('poems','r', ...
- Python常见文件操作的函数示例
# -*-coding:utf8 -*- ''''' Python常见文件操作示例 os.path 模块中的路径名访问函数 分隔 basename() 去掉目录路径, 返回文件名 dirname() ...
- python的文件操作及简单的用例
一.python的文件操作介绍 1.文件操作函数介绍 open() 打开一个文件 语法:open(file, mode='r', buffering=-1, encoding=None, errors ...
- python基本文件操作
python文件操作 python的文件操作相对于java复杂的IO流简单了好多,只要关心文件的读和写就行了 基本的文件操作 要注意的是,当不存在某路径的文件时,w,a模式会自动新建此文件夹,当读模式 ...
- [转]python file文件操作--内置对象open
python file文件操作--内置对象open 说明: 1. 函数功能打开一个文件,返回一个文件读写对象,然后可以对文件进行相应读写操作. 2. file参数表示的需要打开文件的相对路径(当前 ...
随机推荐
- rsyslog传输type
Rsyslog远程传输的几种方式 基本介绍 Rsyslog是一个syslogd的多线程增强版,rsyslog vs. syslog-ng 链接是rsyslog官方和syslog特性和性能上的一些对比, ...
- Network Real Trace Analysis 2015年12月10日
了解网络中真实的流量,国内很难找到巨人的肩膀. WAND是新西兰waikato 大学计算机系的研究小组,主要做网络测量,大规模网络流量捕获,网络分析.还做专业的分析软件. libtrace是其开源的分 ...
- C#接口的三种实现方式
转自原文C#接口的三种实现方式 public interface MyInterface { /// 下面三个方法的签名都是 /// .method public hidebysig newslot ...
- [转] C#实现在Sql Server中存储和读取Word文件 (Not Correct Modified)
出处 C#实现在Sql Server中存储和读取Word文件 要实现在Sql Server中实现将文件读写Word文件,需要在要存取的表中添加Image类型的列,示例表结构为: CREATE TABL ...
- iOS学习之Xcode 的Debug技巧
在Xcode中,Debug时,不能像eclipse ,或VS那些集成开发那样,能直接查看变量的值.那怎么在调试的时候查看XCode的变量呢? 有一些方法的. 1.新建一个Single View App ...
- partial分部类
意义 1.源代码控制 2.将一个类或结构分成不同的逻辑单元 3.代码拆分
- 150. Evaluate Reverse Polish Notation (Stack)
Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are +, -, ...
- Unity游戏语音(富文本消息)解决方案GVoice
腾迅云-GVoice https://www.qcloud.com/document/product/556/7673 集成1-2天内可搞定,博主亲测 Unity5.4.4f1 今天又试了下语音转文字 ...
- int类型与char类型的转换
---------siwuxie095 Java对char类型的数据在底层是按int类型来处理的 (只是显示出来仍然是字符型) 1.int类型与char ...
- 541. Reverse String II 指定翻转前k个的字符串
[抄题]: Given a string and an integer k, you need to reverse the first k characters for every 2k chara ...