与open的方法有关的问题
f1 = open(file_name,encoding = "utf-8")all_file = f1.read()
f2 = open( file_name,'w',encoding = "utf-8")
与
f1 = open(file_name,encoding = "utf-8")
f2 = open( file_name,'w',encoding = "utf-8")
all_file = f1.read()
我运行下来 认为两个是有区别的 上面那个all_file是有东西的 下面那个all_file是空的
我是否可以理解为f1 = open(file_name,encoding = "utf-8")这个语句 仅仅只是把f1指向了这个文件,而并没有把文件保存在f1里面,所以 下面三条语句 在执行f2 = open( file_name,'w',encoding = "utf-8")的时候,就把文件里面的内容全部覆盖了 f1指向的就是一个空文件
我可以这么理解吗? 同1个file_name被f1打开,然后双被f2打开, 再f1.read()?f1还能用吗?
这种文件打开不是共享模式,W是独占模式了。 ba21 发表于 2022-3-17 23:08
同1个file_name被f1打开,然后双被f2打开, 再f1.read()?f1还能用吗?
这种文件打开不是共享模式,W是独 ...
不是很明白 可以认为f2执行了之后f1的语句就没有意义了吗 Jerry~Mouse 发表于 2022-3-17 23:19
不是很明白 可以认为f2执行了之后f1的语句就没有意义了吗
是的 ba21 发表于 2022-3-17 23:25
是的
那我还有一个小问题,什么时候是共享模式 什么时候是独占模式呢 Jerry~Mouse 发表于 2022-3-17 23:45
那我还有一个小问题,什么时候是共享模式 什么时候是独占模式呢
"r" 只读就是共享,"w" 覆盖就是独占! Jerry~Mouse 发表于 2022-3-17 23:45
那我还有一个小问题,什么时候是共享模式 什么时候是独占模式呢
共享,独占,就如词意。
你要了解的话,测试下就知道了。
p = r'D:\Users\Administrator\Desktop\test.txt'
print('============================测试1==================================')
f1 = open(p, 'r')
f2 = open(p, 'r')
print(f1.read())
print('------------------------------------------------------------------')
print(f2.read())
print('============================测试2==================================')
f1 = open(p, 'r')
f2 = open(p, 'w')
print(f1.read())
print('------------------------------------------------------------------')
print(f2.write('abcabcfdfadf\n'))
f2.close()
页:
[1]