python 文件的基本操作
Posted lovelife`
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 文件的基本操作相关的知识,希望对你有一定的参考价值。
文件的概念
文件的概念和作用
1.计算机的 文件,就是存储在某种 长期储存设备 上的一段 数据
2.长期存储设备包括:硬盘、U 盘、移动硬盘、光盘...
文件的作用
1.将数据长期保存下来,在需要的时候使用。
文件的存储方式
1.在计算机中,文件是以 二进制 的方式保存在磁盘上的
文本文件和二进制文件
1.文本文件
2.可以使用 文本编辑软件 查看
3.本质上还是二进制文件
例如:python 的源程序
1.二进制文件
2.保存的内容 不是给人直接阅读的,而是 提供给其他软件使用的
3.例如:图片文件、音频文件、视频文件等等
4.二进制文件不能使用 文本编辑软件 查看
python 中文件的基本操作:
不同模式打开文件的完全列表:
模式 | 描述 |
---|---|
r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 |
rb | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头。 |
rb+ | 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 |
w | 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
w+ | 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
wb+ | 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |
file对象相关的所有属性的列表:
属性 | 描述 |
---|---|
file.closed | 返回true如果文件已被关闭,否则返回false。 |
file.mode | 返回被打开文件的访问模式。 |
file.name | 返回文件的名称。 |
file.softspace | 如果用print输出后,必须跟一个空格符,则返回false。否则返回true。 |
例子1
#打开一个文件 名叫login.txt 以 w 的方式读取 File = open("login.txt", "w",encoding="UTF-8") #向文件写入一行数据 File.write("这是第一行\\n") File.write("这是第二行\\n") File.close()
注意:open 打开文件不指定路径默认在当前文件夹创建
执行结果: 会建立一个文件并将内容写入进去
例子2
#打开一个文件 将一条信息追加进去 loginFile = open("login.txt", "a",encoding="UTF-8") loginFile.write("这是第3行\\n") #关闭文件 loginFile.close()
执行结果:可以看到文件又多加了一行
例子3
f6 = open("login.txt","rb") #以二进制文件格式读这个文件 print(f6.readline()) print(f6.readline()) print(f6.readline()) f6.close()
例子4
#with语句作用,为了避免打开文件后忘记关闭 with open("file_test","r",encoding="utf-8") as f: #类似于f = open("file_test","r",encoding="utf-8") with open("file_test","r",encoding="utf-8") as f, \\ #还可以同时打开多个文件 open("file_test2","r",encoding="utf-8") as f2:
例子5
#flush用法 f = open("file_test","w",encoding="utf-8") f.write("hello\\n") f.write("hello\\n") f.write("hello\\n") f.flush() #当往文件写内容的时候,会有一个缓存,达到一个时间,一次往文件写入。如果这时候断电可能内容并没有写入成功,flush刷新会立即执行
文件的修改
#打开一个文件,修改完了写到一个新文件 f = open("file_test","r",encoding="utf-8") f_new = open("file_new","w",encoding="utf-8") for line in f: #按行取出,每行都是一串字符串 if "fengxiaoli" in line: line = line.replace("fengxiaoli","FENGXIAOLI") #对字符串进行操作,J f_new.write(line) f.close() f_new.close()
以上是关于python 文件的基本操作的主要内容,如果未能解决你的问题,请参考以下文章