python-with open() as file相关参数以及常用打开方式

with open() as file是由open()函数引申而来

fp = open("./aa.txt", "w+")
fp.write("This is a text file.")
fp.close()

上面是一个open()函数的例子,在用完之后必须关闭文件,否则就造成了系统资源的长期占用!

with open("./aa.txt", "w+") as fp:
    fp.write("This is a text file.")
 
print(fp.closed())

with open() as file则没有上述的问题,由上面代码可知,当with as代码块结束时,程序自动关闭打开的文件,不会造成系统资源的长期占用。

open()函数的几个常用参数:

open("文件路径",  "文件代开方式", 编码格式(一般设置为encoding='utf-8'), newline=None)

其中newline是换行控制的参数,参数有:None,' ',' ',' '。
输入时,如果参数为None,那么行结束的标志可以是:' ',' ',' '任意一个,并且三个控制符都首先会被转化为:' ',然后才会被调用;如果参数为''则不会换行。

下面是一些打开方式:

r:    以只读方式打开文件。文件的指针将会放在文件的开头。这是**默认模式**。
rb: 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+: 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+:以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w:    打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb:    以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+:    打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+:以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a:    打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab:    以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+:    打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
原文地址:https://www.cnblogs.com/123456www/p/12315152.html