python学习笔记--文件读写

python学习笔记--文件读写

首先说一下读写的概念,计算机中的概念有cpu,内存,磁盘的概念,而这里的读写是发生在磁盘上的,比如我们说读取一个txt文件,实际上是去磁盘中读取这个文件。而这些数据读出来之后都会驻留在内存,这个后面再说。

鉴于读写是相对磁盘上的文件而言,那么我们操作情况就会有,打开文件,对文件操作,关闭文件三个基本类型。

首先说打开,打开会涉及python自带的open方法,他提供的两个常用参数是:文件位置,打开方式。

举例:打开D:AutomatiorIPC_Automatiorstudy\text1.txt" 这个路径下文件,并且用读的方式

fr = open("D:AutomatiorIPC_Automatiorstudy\text1.txt", "r")

这就打开了这个文件

打开方式指的是,通过特定的方式打开文件,以下说明各种打开方式的区别

# r    以只读方式打开文件。这是默认模式。文件必须存在,不存在抛出错误
#rb    以二进制格式打开一个文件用于只读。
#r+    打开一个文件用于读写。文件指针将会放在文件的开头。读完就追加。
#w    打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
#w+    打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
#a    打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
#a+    打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

可以看出不同打开方式对打开后的操作是有影响的。
第二个说文件操作,通过第一步的打开方式决定了可以执行什么操作,如果用了只读方式打开,此时调用写的方法,就会报错,同样,用只写的方式打开,对文件进行读取操作也会报错
f = open("D:AutomatiorIPC_Automatiorstudy\text1.txt", "w")

f.write("这是测试内容1")
f.read()
f.close()
比如这里用w方式打开,调用read方法时就出现报错。
这些概念都比较好理解,不再多说。
最后还有一个一定要做的事情就是关闭文件,当我们打开一个文件操作以后,一定要关闭文件,不然这个文件会一直占用cpu和内存。而且会出现一些不可预期的错误。
也就是close方式一定要执行。
但是这里有个问题,既然一定要关闭,但是如果在读写时就报错了,那close就不会执行怎么办。很明显,我们这里需要对这个异常进行处理
也就是
try:
f = open("D:AutomatiorIPC_Automatiorstudy\text1.txt", "w")

f.write("这是测试内容1")
f.read()
finally:
f.close()
这里又有一个知识点,为什么用finally,因为finally是区别except的,except如果try中没有抛出异常。则不会执行,而finally不管try中是什么情况,始终会执行finally中的内容,也就是上面始终会关闭文件。
但是这么写实际上很麻烦,python提供了简化代码。通过with语句可以自动调用close方法
with open("D:AutomatiorIPC_Automatiorstudy\text1.txt", "w") as f:
f.write("这是测试内容1")
f.read()
以上就在对文件操作后自动调用close 方法关闭文件,不关文件在操作时是否抛出异常。
以上就是对文件的一些简单操作,学如逆水行舟,不进则退,勉励自己。