python文件流操作

博主在学习python时对文件进行操作时经常踩一下坑。所以专门梳理了一下。有问题麻烦指出哈。  python对于文件的操作我们一般是用open()。我们根据python的源码可以看出。我们必须要传的参是file即打开文件的URL。同时open方法默认是是r的打开方式即只读。

python文件流操作

open()方法举例

f=open('test.txt',encoding='utf-8')   #打开文件
data=f.read()            #文件操作
print(data)
f.close()          #关闭文件
当然其他的打开方法
# r    以只读方式打开文件。这是默认模式。文件必须存在,不存在抛出错误
#rb    以二进制格式打开一个文件用于只读。
#r+    打开一个文件用于读写。文件指针将会放在文件的开头。读完就追加。
#w    打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
#w+    打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
#a    打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
#a+    打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

注:后面有带b的方式,不需要考虑编码方式。有带+号的,则可读可写,不过它们之间还是有区别的 例如Wb就是以二进制形式进行写入
这里就不一一举例了。
对于文件的读取有以下几个方法
read(n):如果不传值得话就读取所有的内容,传值的话可以读取指定的内容
readline():按行读取内容
readlines():读取多行内容并以表格形式返回
写入
write()
作者在这里曾经遇到一个小纠结点 按行写入怎么写呢。后面看了别人的写法才转过湾。加一个/n就可以了
例如
f = open("test.txt","a+")
list =[1,2,3]
for i in list:
  f.write(str(i))
f.write(" ") #写入换行符号
f.close()
这些就是作者对于python 文件处理的总结