文件处理那些事儿~
当你把一个东西放在一个不稳定的桌子上,当桌子坏掉的时候,你的东西就会坏掉;当你把东西放在一个稳定的桌子上,东西便会把这个东西永久保存下来。
电脑也是一样,如果你把一个程序的变量写入内存中,当你关闭程序的时候,你的变量的信息就会丢失。如果所有的程序都是这样的话,当你在银行的ATM存款后,ATM机器重启,你的信息将全部丢失;如果你把变量的信息记录在硬盘中的话,只需要在程序启动的时候进行读取文件信息就可以了,这样你的信息将会永久保存。
说了这么多,程序在运行的过程中如何编辑一个文档呢?怎么把信息存入文档中呢?这个是个问题,接下来我们就去解决这个问题。
其实呢,这个问题是非常非常简单的问题,而文件的操作是最基本的。这个操作就需要用open()来进行对文件的一个操作。接下来我就用代码解释一下这个open()应该怎么用
1 # f = open('文件的路径','文件打开的权限',encoding = '以什么编码解析') #这个就是打开文件的操作
2
3 # 文件打开的权限到底怎么设置呢?
4
5 f = open('文件的路径','r',encoding='utf-8') # 以只读方式打开文件,如果没有这个文件的话,会报错
6 f.close()
7 f = open('文件的路径','w',encoding='utf-8') # 以写入的方式打开文件,如果没有这个文件的话,会创建这个文件
8 f.close()
9 f = open('文件的路径','a',encoding='utf-8') # 以追加的方式打开文件,如果没有这个文件,创建这个文件
10 f.close()
11 f = open('文件的路径','r+',encoding='utf-8') # 以追加可读方式打开文件,这个模式下,程序可以读取文件的内容,同时也可以写入文件的内容
12 f.close()
13 f = open('文件的路径','w+',encoding='utf-8') # 以追加写入的方式打开文件,这个模式并不常用
14 f.close()
15 f = open('文件的路径','b') # 这个模式是打开二进制文件所用的
16 f.close()
这种方式可以随意组合,组合后有相应的功能,但是这中方式有一定的缺陷,如果使用这种方式操作文件的话,你必须在完成你需要操作的文件后加上一个f.close()当然,这个函数可以随意指定。
如果说,上面操作文件的方式是有弊端的,有没有一种方式能自动关闭操作的文档呢?当然有,这个就需要引入一个新的知识点‘with’,这个应该怎么用呢,还是用一段代码来解释这个应该怎么用吧!
1 # with open('文件的路径','打开方式',encoding='以什么编码解析') as f: 这里的as是把打开的这个文件赋值给f这个变量,当编辑完文档以后,文档会自动关闭 2 # 这里写对文件的操作 3 4 5 6 with open('wenjian','w',encoding='utf-8') as f: 7 f.write('hello world')