比较用户输入的两个文件,显示出所有不同处的行号与第一个不同字符的位置

1. 编写一个程序,比较用户输入的两个文件,如果不同,显示出所有不同处的行号与第一个不同字符的位置。

import os
import re
cwd = os.getcwd()
os.chdir(cwd)
filename1 = input("请输入需要比较的头一个文件名:")
filename2 = input("请输入需要比较的另一个文件名:")
f1=open(filename1)
f2=open(filename2)
rownum = 0
count = 0
#定义为每一行有一处不同
for(line1,line2) in zip(f1,f2):
    rownum+=1
    if line1 != line2:
        colnum=0
        for(chara,charb) in zip(line1,line2):
           if chara == charb:
                colnum+=1
            else:
                print ‘第%d行第%d列不一样‘%(rownum,colnum)
        count += 1
print("两个文件共有【%d】处不同" % count)
f1.close()
f2.close()

a.txt内容:

从明天起,做一个幸福的人
喂马、劈柴,周游世界
从明天起,关心粮食和蔬菜
我有一所房子,面朝大海,春暖花开

b.txt内容:

从明天起,做一个幸福的人
喂马、劈柴,周游世界,哒哒
从明天起,关心粮食和蔬菜菜
我有一所房子,面朝大海,春暖花开

运行结果:

>>>

请输入需要比较的头一个文件名:a.txt
请输入需要比较的另一个文件名:b.txt
第2行第20列不一样
第3行第24列不一样
两个文件共有【2】处不同

时间: 2024-08-02 17:34:45

比较用户输入的两个文件,显示出所有不同处的行号与第一个不同字符的位置的相关文章

要求用户输入宽和高,显示出长方形的面积。

import java.util.Scanner; /** * @author 蓝色以太 * 要求用户输入宽和高,显示出长方形的面积. */ public class Area { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入长度:"); double length=sc.nextDouble(); System.out.printl

JavaScript-3.1--获取用户的输入,输出用户输入的两数之和---ShinePans

提示用户输入两个数,然后输出用户输入的两数之和 第一次输入 ,输入处为空 第二个输入,输入处为默认27  (这里强调语句的使用) <html> <head> <meta http-equiv="content-type" content="text/html;charset=GB2312"/> <title> 3.1 让用户输入两个数字,然后输出相加的结果 </title> </head> &l

[Linux文件]将用户输入的字符串写入文件实例

 //使用gets函数从标准输入(键盘)获得一个以回车换行为结束的字符串,可以带空格  //运行时候屏幕会提示输入字符处,以回车结尾  //需要注意的是待输入的字符串存放在writebuf中,不能超过30字节并且不会带回车换行  #include <fcntl.h>  #include <stdio.h>  #include <string.h>  int main(int argc,char *argv[])  {    int fd;      //文件描述符   

Linux-diff --比较两个文件并输出不同之处

1.命令格式: diff[参数][文件1或目录1][文件2或目录2] 2.命令功能: diff命令能比较单个文件或者目录内容.如果指定比较的是文件,则只有当输入为文本文件时才有效.以逐行的方式,比较文本文件的异同处.如果指定比较的是目录的的时候,diff 命令会比较两个目录下名字相同的文本文件.列出不同的二进制文件.公共子目录和只在一个目录出现的文件. 3.命令参数: -  指定要显示多少行的文本.此参数必须与-c或-u参数一并使用. -a或--text diff预设只会逐行比较文本文件. -b

老男孩教育每日一题-第92天-显示出打印第二列为oldboy行的第一列内内容

题目 [[email protected] oldboy# cat ip.log  10.0.0.1 oldboy 10.0.0.2 oldgirl 10.0.0.3 bingbing 10.0.0.4 tingting 10.0.0.4 oldboy 打印第二列为oldboy行的第一列内容 参考答案 方法一:while循环 cat match.shwhile read line do     name=`echo $line|awk '{print $2}'`         if [ "$n

php安全篇值过滤用户输入的人参数

规则 1:绝不要信任外部数据或输入 关于Web应用程序安全性,必须认识到的第一件事是不应该信任外部数据.外部数据(outside data) 包括不是由程序员在PHP代码中直接输入的任何数据.在采取措施确保安全之前,来自任何其他来源(比如 GET 变量.表单 POST.数据库.配置文件.会话变量或 cookie)的任何数据都是不可信任的. 例如,下面的数据元素可以被认为是安全的,因为它们是在PHP中设置的. 复制代码 代码如下: <?php $myUsername = 'tmyer'; $arr

php安全篇值过滤用户输入的参数(转)

规则 1:绝不要信任外部数据或输入 关于Web应用程序安全性,必须认识到的第一件事是不应该信任外部数据.外部数据(outside data) 包括不是由程序员在PHP代码中直接输入的任何数据.在采取措施确保安全之前,来自任何其他来源(比如 GET 变量.表单 POST.数据库.配置文件.会话变量或 cookie)的任何数据都是不可信任的. 例如,下面的数据元素可以被认为是安全的,因为它们是在PHP中设置的. 复制代码 代码如下: <?php $myUsername = 'tmyer'; $arr

PHP开发不能违背的安全规则 过滤用户输入

作为PHP程序员,特别是新手,对于互联网的险恶总是知道的太少,对于外部的入侵有很多时候是素手无策的,他们根本不知道黑客是如何入侵的.提交入侵.上传漏洞.sql 注入.跨脚本攻击等等. 作为最基本的防范你需要注意你的外部提交,做好第一面安全机制处理防火墙. 规则 1:绝不要信任外部数据或输入 关于Web应用程序安全性,必须认识到的第一件事是不应该信任外部数据.外部数据(outside data) 包括不是由程序员在PHP代码中直接输入的任何数据.在采取措施确保安全之前,来自任何其他来源(比如 GE

linux比较两个文件的不同(6/21)

cmp 命令:比较任意两个类型的文件,且吧结果输出到标准输出,默认文件相同不输出,不同的文件输出差异 必要参数 -c 显示不同的信息-l 列出所有的不同信息-s 错误信息不提示 选择参数 -i<字符数> 指定字符数目-v 显示版本信息--help 显示帮助信息 [函数的返回值] 0 :文件时同样的1 :文件是不同的>1:发生错误 comm将逐行比较已经排序的两个文件.显示结果包括3列: 第1列为只在file1中找到的行;第2列为只在file2中找到的行;第3列为两个文件的公用行. 参数