Python基础——文件

一.文件介绍

  1. 什么是文件

狭义说:文本文件;广义说:超文本文件, 图片,声音,超链接,视频。

  1. 文件的分类

文件大体上可以分为两类,文本文件和二进制文件。

  1. 文件的作用

使用文件的目的是把一些数据存储存放起来。

  1. 使用文件的流程

我们操作一个文件的流程一般是 打开文件,读写文件,关闭文件。通过程序操作文件的流程也是这三步,首先打开文件,然后读写文件,最后关闭文件。

 

二.读写文件的简单操作

1.读取文件

file = open('file/a.txt',mode='r')  # 打开文件

ret = file.read()  # 读取文件中的所有内容

print(ret)


file.close()   # 关闭文件

file叫做文件句柄(变量)用来操作文件

第一个参数是文件的路径,

第二个参数 mode=访问文件的模型,r 表示读,默认也是r 模式

2.写文件

# d.txt我还没有创建

file = open('file/d.txt',mode='w')  # 打开文件

file.write('xxx')  # 向d.txt中写入xxx


file.close()   # 关闭文件

由此可以看出,如果文件不存在,会自动创建文件(不会创建目录)。

 

三.文件权限

读取操作

r

以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

rb

以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。一般用于非文本文件如图片等。

r+

打开一个文件用于读写。文件指针将会放在文件的开头。

rb+

以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。

写操作

w

打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

wb

以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。

w+

打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

wb+

以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。

a

打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

ab

以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

a+

打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

ab+

以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

 

四.文件操作

1.读操作

1.1  .read()

调用read()会一次性读取文件的全部内容,如果文件有10G,内存就爆了,会导致程序卡死,所以,要保险起见,可以反复调用read(size)方法,每次最多读取size个字节的内容。

为了方便操作我在file包下创建个读写操作.py 且a.txt中输入了aabbccdd,下面来读取文件

1.2  .readline()

readline每次读取一行,并且自带换行功能 每一行末尾会读到\n

1.3 .readlines()

Readlines,一次性以行的形式读取文件的所有内容并返回一个list,需要去遍历读出来

我向a.txt中加入两行内容

1.4循环读取

file句柄是一个可迭代的对象因此,可以循环读取文件中的内容,每次读一行。

2.写操作

2.1 .write()

b.txt 是空文件

2.2 .writelines()

file.writelines(seq) #把seq的内容全部写到文件中(多行一次性写入)

3.其他操作

3.1 .tell()

tell获取文件当中当前光标所在的位置

(把c.txt内容改为aaabbbccc)

3.2  .seek()

seek 移动光标位置

参数:

offset  移动的长度(字节)

whence 相对位置 0从开头(默认),1从当前,2从末尾

3.3.name和mode

file.name 返回 路径

file.mode 返回 文件读写模式

五.with

使用with方式操作文件,可以不用关闭文件,会自动关闭文件。

六.乱码

python读写文件时,默认使用的编码为平台编码,也就是gbk。

在pycharm中创建的文件默认使用的是utf-8编码。

向磁盘保存时不乱码

往pycharm中的k.txt中保存内容会出现乱码

我们可以指定编码:

 

猜你喜欢

转载自blog.csdn.net/weixin_43567965/article/details/86224860
今日推荐