第二十九讲课后练习题第1题
各位大佬,我的代码如下:name1=input("请输入需要比较的头一个文件名:")
name2=input("请输入需要比较的另一个文件名:")
f1=open(name1)
f2=open(name2)
count=0
hans=0
result=''
while f1.tell() <= f1.tell(-1) and f2.tell() <= f2.tell(-1): #结果报错显示tell()里不带参数的,我想问有什么方法可以直接读出文件里共有多少字节?感谢!
hans+=1
if f1.readline() != f2.readline():
count+=1
result=result+"第"+str(hans)+"行不一样"+"\n"
else:
continue
print("两个文件共有",count,"处不同")
print(result)
f1.close()
f2.close()
本帖最后由 Twilight6 于 2020-6-19 18:50 编辑
错误判断...! #-*-coding:gbk-*-
import os
filename = input('请输入文件名:') . strip()
if(len(filename)):
if os . path . exists(filename) :
print(filename , ':' , os . path . getsize(filename) , '字节')
else:
print('文件' , filename , '不存在!') Twilight6 发表于 2020-6-19 17:11
read() 就是逐个读取字节或字符的作用呀
你可以通过判断 len(read()) 是否等于 tell() 来判断文件是否 ...
大佬,一个汉字字符占两个字节,read()返回的所有字符,Len(read())不是表示字符的个数吗?没搞懂 Twilight6 发表于 2020-6-19 17:49
但是 tell 也是根据字节数呀~当我是 2 个你也是 2 个 那不就一致了?
比如:
talker.txt 文件有个字符串:"我是“
那么len(f.read())=2
字节占用是4,也就是指针到末尾的时候f.tell()=4
如果是这样,那我的循环条件不成立啊 吃鲸不放辣 发表于 2020-6-19 18:48
比如:
talker.txt 文件有个字符串:"我是“
那么len(f.read())=2
{:10_257:}对哦是我的错 !! 吃鲸不放辣 发表于 2020-6-19 18:48
比如:
talker.txt 文件有个字符串:"我是“
那么len(f.read())=2
我想到一个 就是麻烦点
先 read() 然后 在 tell然后再 seek(0,0) 回到文件开始处这样 tell 时候就是总字节数 额,如果是想要直接获取文件有多少字节的话
import os
os.path.getsize(文件名)
这个方法可以直接获取文件的总字节
页:
[1]