鱼C论坛

 找回密码
 立即注册
查看: 2777|回复: 5

[已解决]还是没搞得太懂FOR IN 和readline()文件的区别

[复制链接]
发表于 2016-5-30 21:33:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. def file_compare(file1, file2):
  2.     f1 = open(file1)
  3.     f2 = open(file2)
  4.     count = 0 # 统计行数
  5.     differ = [] # 统计不一样的数量

  6.     for line1 in f1:   #这一段代码没有绕出来是怎么回事
  7.         line2 = f2.readline()
  8.         count += 1
  9.         if line1 != line2:
  10.             differ.append(count)

  11.     f1.close()
  12.     f2.close()
  13.     return differ

  14. file1 = input('请输入需要比较的头一个文件名:')
  15. file2 = input('请输入需要比较的另一个文件名:')

  16. differ = file_compare(file1, file2)

  17. if len(differ) == 0:
  18.     print('两个文件完全一样!')
  19. else:
  20.     print('两个文件共有【%d】处不同:' % len(differ))
  21.     for each in differ:
  22.         print('第 %d 行不一样' % each)
复制代码
最佳答案
2016-5-31 11:26:59
for i in f 表示 i 是f里面的东西( f 可以是被打开的文件,可以是元祖,列表等)
如果f有多行,则i逐行读取。
如果f有单行,则依次读取该行的内容
readline()表示读取某一行。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-5-31 11:26:59 | 显示全部楼层    本楼为最佳答案   
for i in f 表示 i 是f里面的东西( f 可以是被打开的文件,可以是元祖,列表等)
如果f有多行,则i逐行读取。
如果f有单行,则依次读取该行的内容
readline()表示读取某一行。

评分

参与人数 1荣誉 +3 鱼币 +5 收起 理由
~风介~ + 3 + 5 支持楼主!

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-5-31 15:40:48 | 显示全部楼层
本帖最后由 vpo1 于 2016-5-31 15:41 编辑
  1. for line1 in f1:   #这一段代码是逐行读取f1的文本,然后逐行读取f2,在f2中进行遍历,对比是否一样。这一句的含义是建立一个循环体,逐行读取f1
  2.         line2 = f2.readline()#逐行读取f2
  3.         count += 1#行数计数加1,这里行数是f1中的行
  4.         if line1 != line2:#比较line1和line2
  5.             differ.append(count)#如果不一致,记录行数
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-6-1 09:58:58 | 显示全部楼层
你这个代码是不是有问题,如果file1 的行数比file2的行数少,那么file2多出来的行算不算与file1的不相同?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-2 21:48:03 | 显示全部楼层
楼上说的对 啊 这样代码 就以第一个文件为主 没法对比file2 比file1 多出来的行数了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-2 21:57:48 | 显示全部楼层
python真好,在c#里,这段代码得定义半天,数组和list转来转去
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-21 05:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表