Python文件和数据格式化(教程)
文件是一个存储在副主存储器的数据序列,可包含任何数据内容。
概念上,文件是数据的集合和抽象,类似的,函数是程序的集合和抽象。
用文件形式组织和表达数据更有效也更加灵活。
文件包括两种形式,文本文件和二进制文件。
文本文件:一般由单一特定的编码的字符组成
二进制文件:一般由0和比特1组成,没有统一的字符编码。
无论是通过文本还是二进制创建的文件,都可以用两种方式来打开。
我们来举个例子对比文本文件和二进制文件,
首先我们在桌面创建一个文本文件,取名example,并写入“我爱我的祖国”
如下所示:
注意:右下角的编码方式为“UTF-8”
然后执行代码:
fp=open("example.txt","rt",encoding='UTF-8')
print(fp.readline())
fp.close() fps=open("example.txt","rb")
print(fps.readline())
fps.close()
在这段代码中,分别使用文本文件形式和二进制形式打开文档,然后读取、关闭。
注:rt为文本文件形式、rb为二进制文件形式。
运行结果如下所示:
接下来,我们正式学习文件相关操作。
1.文件的打开和关闭
说到文件的打开关闭,不由得让我想起以前的笑话,把大象装进冰箱需要几步?
文件操作和这个笑话一样,首先打开文件、然后进行操作、最后关闭文件。
文件的打开:
文件默认处于存储状态,只有将其打开当前程序才有权操作这个文件。
打开不存在的文件,程序将会创造一个新文件来进行操作。
打开这个文件之后,文件处于被占用状态,另一个进程不得对文件进行操作。
文件打开需要使用open()函数,格式如下:
<变量名>=open(<文件名>,<打开模式>)
encoding为编码方式
文件打开模式:
“r” :只读模式,文件不存在返回异常
“w” :覆盖模式,文件不存在则创建、文件存在则完全覆盖
“x“ :创建写模式,文件不存在则创建、存在则返回异常
”a” :追加写模式,文件不存在则创建、文件存在则在稳健最后追加内容
“b” :二进制模式
“f” :文本文件模式(默认值)
“+” :与 r\w\x\a一同使用,在原基础上加入了同时读写功能
打开模式可以为字符串形式,其中r,w,x,a可以和b,t,+组合使用
如刚刚例子的打开方式:rt,rb
encoding为编码方式
文件的关闭:
文件使用之后,要采用close()函数关闭文件,释放文件的使用授权
使用方法如下:
<变量名>.close()
2.文件的读取
文件打开之后,根据打开方式的不同可以对文件进行对应读写操作。(记得注意编码方式)
文件的读取方法如下:
<file>.read(size=-1)
从文件读入整个文件内容,给出参数则读取前size长度的字符串
<file>.readline(size=-1)
从文件中读入一行内容,如果给出参数则读取每行前size长度的字符串
<file>.readlines(hint=-1)
从文件中读入整个文件的内容,以每一行为一个列表,如果给参入,只读取前hint行
举个例子,还是刚刚的example文件,我们多输入两行同样的文件,逐行读出。
先打开文件,然后for循环,通过readlines()逐行读取、最后关闭。
代码如下:
fp=open("example.txt","rt",encoding='UTF-8')
for line in fp.readlines():
print(line)
fp.close()
运行结果如下:
3.文件的写入
写入的常见函数有三个
<file>.write(s)
向文件写入一个字符串
<file>.writelines(lines)
讲一个元素全为字符串的列表写入文件
<file>.seek(offset)
改变当前文件操作指针的位置,offset的值“0”为文件开头、“1”当前位置,“2”文件结尾
举个例子,向文件写入一个列表类型[“中国”、“美国”、“法国”]
代码如下:
fp=open("example.txt","w+",encoding='UTF-8')
lst=["中国","美国","法国"]
fp.writelines(lst)
fp.close()
结果如下:
至此便是python文件方面的常见操作
、
Python文件和数据格式化(教程)的更多相关文章
- python 文件与数据格式化
https://www.cnblogs.com/li-zhi-qiang/p/9269453.html 文件和数据格式化 https://www.cnblogs.com/li-zhi-qi ...
- Python基础篇(五)_文件和数据格式化
Python基础篇_文件和数据格式化 文件的使用:文件打开.关闭.读写 文件打开:通过open()函数打开文件,并返回一个操作文件的变量. 使用语法:<变量名> = (<文件路径以及 ...
- python学习笔记(11)--文件与数据格式化
文件的概念: 文件是数据的抽象和集合,是存储在辅助存储器上的数据序列,文件是数据存储的一种形式,文件的展现形态,文本文件和二进制文件. 文本文件输出: f.txt文件保存:“我是中国人” >&g ...
- Python语言程序设计基础(7)—— 文件和数据格式化
返回字符串 file = input() #返回字符串 fo = open(file,"r").read(6) print(fo) 返回列表形式 file = input() fo ...
- python文件操作及格式化输出
1 文件与IO 1.1读写文本数据 读写各种不同的文本数据,如ASCII,UTF-8,UTF-9编码等. 使用带有rt模式的open()函数读取文本文件. 例如: with open('db', 'r ...
- python基础之 数据格式化
%还是format 皇城PK Python中格式化字符串目前有两种阵营:%和format,我们应该选择哪种呢? 自从Python2.6引入了format这个格式化字符串的方法之后,我认为%还是form ...
- python --文件读取数据
读取整个文件: 首先创建一个文件,例如我创建了一个t x t文件了. 然后我想读取这个文件了,我首先将上面的这个文件保存在我即将要创建的Python的文件目录下, 即读取文件成功. 解析: 函数ope ...
- python操作txt文件中数据教程[4]-python去掉txt文件行尾换行
python操作txt文件中数据教程[4]-python去掉txt文件行尾换行 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文章 python操作txt文件中数据教程[1]-使用pyt ...
- python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件
python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 python操作txt文件中 ...
随机推荐
- Java基础(41)AbstractList类
AbstractList类的子类有AbstractSequentialList(其子类是LinkedList)和ArrayList 1.LinkedList 定义 public class Linke ...
- Andriod项目结构
在Android Studio第一次创建一个项目,点击左侧的Project选项卡,在Project窗口下有几个不同的视图,默认的是名为Android的视图: 对于大部分的开发工作,我们只要在Andro ...
- fenby C语言 P14
打赌 条件运算符 (表达式?值1:值2) 赌注内容 奖励 奖励 y=(x==2?100:50): x==2,那么y=100 x!=2,那么y=50 #include int main() { int ...
- rsync的笔记整理
Rsyncd数据同步工具 1.什么是Rsyncs? Rsync(Remote synchronization)是一款开源的,快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsy ...
- 怎么用Vuecli 3.0快速创建项目
一.安装 1.安装node.js,这里需要注意的是,Vue CLI 3需要 nodeJs ≥ 8.9,所以我们去中文官方下载地址:http://nodejs.cn/download/,下载最新版本即可 ...
- 漏洞靶场--webug4.0安装
官网:https://www.webug.org/ 官方版本里安装视频教程 7.19官网打不开,分享当初存在网盘的[7.1更新] 链接: https://pan.baidu.com/s/1F3658i ...
- CSPS模拟 45 乔迁之喜
搬家了qwq 暑假在机房藏的吃的还没来得及吃qwq 有缘人会发现它的(其实并没有) 我居然也能和skyh并列了啊sto T1 安排打怪 不可能让左边的人越过右边人打的怪去打更靠右的怪吧? $O(n^2 ...
- 问题 L: 「Usaco2005 Feb」竞选划区O(∩_∩)O 纯属的暴力
题目描述 农场被划分为5x5的格子,每个格子中都有一头奶牛,并且只有荷斯坦(标记为H)和杰尔西(标记为J)两个品种. 如果一头奶牛在另一头上下左右四个格子中的任一格里,我们说它们相连. 奶牛要大选了. ...
- 使用AForge录制视频
使用AForge录制视频,基于Winform开发 (一)首先导入AForge包 需要先导入 using AForge.Video;using AForge.Video.FFMPEG; 两个工具包 (二 ...
- 一分钟带你学会利用mybatis-generator自动生成代码!
目录 一.MyBatis Generator简介 二.使用方式 三.实战 之前的文章<SpringBoot系列-整合Mybatis(XML配置方式)>介绍了XML配置方式整合的过程,本文介 ...