|
|
发表于 2018-5-10 10:30:24
|
显示全部楼层
with open 语句后面跟的整段代码,就是对文件的操作,上面的代码,应该可以看出几个问题:
1. with open是一个代码块,而不是一行
with open(xxx, [...] ) as fp:
# 这里是对文件的操作
print(xxx)
2. 一旦完成缩进的内容,就是执行到上面的print()以后,系统就已经调用了close() 操作,不能对文件再进行任何操作
另外:
with open(file1) as f1 , 其中 f1 可以理解为局部变量,只在with open代码块中起作用,所以通常就用 f 或者 fp..就行了
readline只能用于文本文档,这个是以\r\n作为标识的,如果是音频视频文件等等肯定是不行的,可以简单写成这样:
def compare(file1,file2): #这里就简单写 不try了
a = None
b = None
with open(file1,'rb')as fp:
a = fp.read()
with open(file2,'rb')as fp:
b = fp.read()
return (a == b) |
|