第29讲关于read()和readlines()
本帖最后由 Bruin 于 2017-3-1 14:34 编辑def file_compare(file1, file2):
f1 = open(file1)
f2 = open(file2)
count = 0 # 统计行数
differ = [] # 统计不一样的数量
for line1 in f1:
line2 = f2.readline()
count += 1
if line1 != line2:
differ.append(count)
这是小甲鱼老师动动手第二题的一部分答案,for line1 in f1就是表示读取的一行吗?
我百度的read(),readlines(),readline()的区别, fh = open('c:\\autoexec.bat')
forline infh.readlines():
printline
这样表示的读取一行,这两种都对? 这也是问题吗?完全可以自己去测试得到答案呀! for line1 in f1就是表示读取的一行吗,读取一行的是readline()函数,这个循环是在f1中,第二句才是读取一行, for line1 in f1
f1要是字符串,好像是一个字母一个字母读的。可以print line1 print line2看看结果是啥 file是一个可迭代对象,只要是可迭代对象,都可以使用for语句来循环遍历file的元素。 这里我也不明白,遍历f1的应该是字符,直接和f2的line比较,怎么比呢? 没有readline()吧?read()是把它分解出来,回车是\n,要是想看到文章就用print(read(file...))就行了。readlines()是把read()的\n自动转换成回车
陈尚涵 发表于 2020-3-12 12:14
没有readline()吧?read()是把它分解出来,回车是\n,要是想看到文章就用print(read(file...))就行了。read ...
没有readline()? shawnz 发表于 2020-3-11 23:06
这里我也不明白,遍历f1的应该是字符,直接和f2的line比较,怎么比呢?
遍历FILE对象得到的是一行(字符串),f2的line也是一行(字符串),怎么不能比呢 我现在知道了。read是读出来,换行是\n,readline是每行依次读,readlines是一次读完,每换行每一个列表,等于read(file).split("\n") 我也没看明白,这里
for i in range(int(line_num)):
print(f.readline(), end= '')
是表示打印当前一行吗?.readline()没有参数是打印的什么?
另外请教.readline()这种函数在哪里查看讲解 {:5_90:} {:5_91:} {:5_102:}
页:
[1]