当你这样做时:
file = open("my file","wt")
和
file = open("my file" , "rt")
它们都创建我们使用文件方法的文件对象。但他们创建不同的文件对象吗?如果他们创建不同的文件对象,可以公平地说“wt”文件对象是可变的,而“rt”文件对象是不可变的吗?
最佳答案
不,这样说是不公平的。您正在创建相同标准文件
类型的实例,它代理对操作系统的文件操作调用。该模式定义了操作系统将允许您执行的操作。
使用相同或不同的文件名都没有关系;操作系统不关心,Python 也不关心;打开的文件对象是不同的。
Python 对象本身是不可变的;您无法在事后更改模式、文件名或其他属性。
请注意,通过在模式中添加+
,您既可以读取文件对象,也可以写入文件对象; w+
将首先截断文件,而 r+
则不会。
关于python - open(file, "wt"或 "rt") 是不同的对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17127853/