文件是一个存储在副主存储器的数据序列,可包含任何数据内容。

概念上,文件是数据的集合和抽象,类似的,函数是程序的集合和抽象。

用文件形式组织和表达数据更有效也更加灵活。

文件包括两种形式,文本文件和二进制文件。

文本文件:一般由单一特定的编码的字符组成

二进制文件:一般由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文件和数据格式化(教程)的更多相关文章

  1. python 文件与数据格式化

    https://www.cnblogs.com/li-zhi-qiang/p/9269453.html       文件和数据格式化 https://www.cnblogs.com/li-zhi-qi ...

  2. Python基础篇(五)_文件和数据格式化

    Python基础篇_文件和数据格式化 文件的使用:文件打开.关闭.读写 文件打开:通过open()函数打开文件,并返回一个操作文件的变量. 使用语法:<变量名> = (<文件路径以及 ...

  3. python学习笔记(11)--文件与数据格式化

    文件的概念: 文件是数据的抽象和集合,是存储在辅助存储器上的数据序列,文件是数据存储的一种形式,文件的展现形态,文本文件和二进制文件. 文本文件输出: f.txt文件保存:“我是中国人” >&g ...

  4. Python语言程序设计基础(7)—— 文件和数据格式化

    返回字符串 file = input() #返回字符串 fo = open(file,"r").read(6) print(fo) 返回列表形式 file = input() fo ...

  5. python文件操作及格式化输出

    1 文件与IO 1.1读写文本数据 读写各种不同的文本数据,如ASCII,UTF-8,UTF-9编码等. 使用带有rt模式的open()函数读取文本文件. 例如: with open('db', 'r ...

  6. python基础之 数据格式化

    %还是format 皇城PK Python中格式化字符串目前有两种阵营:%和format,我们应该选择哪种呢? 自从Python2.6引入了format这个格式化字符串的方法之后,我认为%还是form ...

  7. python --文件读取数据

    读取整个文件: 首先创建一个文件,例如我创建了一个t x t文件了. 然后我想读取这个文件了,我首先将上面的这个文件保存在我即将要创建的Python的文件目录下, 即读取文件成功. 解析: 函数ope ...

  8. python操作txt文件中数据教程[4]-python去掉txt文件行尾换行

    python操作txt文件中数据教程[4]-python去掉txt文件行尾换行 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文章 python操作txt文件中数据教程[1]-使用pyt ...

  9. python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件

    python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 python操作txt文件中 ...

随机推荐

  1. 2018.8.8 python 初识函数

    主要内容: 1.函数定义 2.函数名,函数体以及函数的调用 3.函数的返回值 4.函数的参数 一.函数的定义 函数:对代码块和功能的封装和定义. 二.函数名.函数体及函数的调用 我们使用def关键字来 ...

  2. 6、pytest -- 临时目录和文件

    目录 1. 相关的fixture 1.1. tmp_path 1.2. tmp_path_factory 1.3. tmpdir 1.4. tmpdir_factory 1.5. 区别 2. 默认的基 ...

  3. 根据多个成对的cron表达式生成的时间段,合并

    场景:数据库一张表,有个startcron 和endcron 两个字段,根据表达式计算今天的所有时间段. 例:startcron :0 30 20 ? * * endcron :0 30 21 ? * ...

  4. Unity3-各个内置面板,对象说明

    *在Inspector面板中,是表示每个物体(诸如摄像机,圆柱,正方体)的组件. 组件包含: 1.Transform,在第一节当中,可以用于变换物体的位置.每个物体对象都有. 2.cube,网格,对于 ...

  5. fastjson自由:controller上指定active profile,让你想序列化什么字段就序列化什么字段

    一.前言 最近有个需求,其实这个需求以前就有,比如定义了一个vo,包含了10个字段, 在接口A里,要返回全部字段: 但是在接口B里呢,需要复用这个 vo, 但是只需要返回其中8个字段. 可能呢,有些同 ...

  6. Java 实现一个 能够 进行简单的增删改查的 超市管理系统

    1. 首先编写一个 Fruitltem 的商品类, 描述 商品的基本信息. 代码如下: 保证详细, 运行的起来, 有什么 问题也可以评论留言. /* * 自定义类, 描述商品信息 * * 商品的属性: ...

  7. CSPS 模拟 70

    考试结束看A了两题就有点遗憾开开心心地去颓废了 吐槽一下这局LRS开的有点睿智,SD当的有点累 T1跟前边一个T1挺像,打表也可以 T2智障dp,开滚动数组就不会被卡空间了 T3牛逼构造题,虽然不是很 ...

  8. NOIP模拟测试33

    这次考试很失败. T1sb题,40分钟切了,当我打完对拍全过去上厕所的时候,碰到了yxm. yxm:我又自闭了,没有一点进展. 我:…… yxm:你会做几个? 我(思考再三):T1只会暴力. (我这么 ...

  9. mount 和 /etc/fstab关系。

    mount  -a 自动按照格式执行/etc/fstab里面的文件. /etc/fstab 文件格式: device        mount-point      type      options ...

  10. php 环境require(): open_basedir restriction in effect 错误

    php 环境require(): open_basedir restriction in effect 错误 错误日志显示,访问脚本不在 open_basedir的限定目录里面 解决方法打开fastc ...