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,'\n','\r','\r\n'。
输入时,如果参数为None,那么行结束的标志可以是:'\n','\r','\r\n'任意一个,并且三个控制符都首先会被转化为:'\n',然后才会被调用;如果参数为''则不会换行。
下面是一些打开方式:
r: 以只读方式打开文件。文件的指针将会放在文件的开头。这是**默认模式**。 rb: 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 r+: 打开一个文件用于读写。文件指针将会放在文件的开头。 rb+:以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 w: 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 wb: 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 w+: 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 wb+:以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 a: 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 ab: 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 a+: 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 ab+:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。