文件比较. 写一个比较两个文本文件的程序. 如果不同, 给出第一个不同处的行号和列号.
#!/usr/bin/env python
#encoding=utf-8
filename1 = raw_input("请输入第一个文件的文件名(绝对路径):")
filename2 = raw_input("请输入第二个文件的文件名(绝对路径):")
try:
f1 = open(filename1)
except IOError:
print "第一个文件打开失败"
exit(0)
try:
f2 = open(filename2)
except IOError:
print "第二个文件打开失败"
exit(0)
Hang = 0
Lie = 0
while True:
Hang +=1
str1 = f1.readline()
str2 = f2.readline()
if str1 != '' and str2 != '':
if cmp(str1,str2) != 0:
if len(str1)>len(str2):
length = len(str2)
else:
length = len(str1)
for i in range(length):
if cmp(str1[i],str2[i]) != 0:
Lie = i+1
break
elif str1 == '' and str2 == '':
break
elif str1 == '' or str2 == '':
Lie = 1
if Lie !=0:
break
f1.close()
f2.close()
if Lie == 0:
print "两个文件内容一样"
else:
print "两个文件第一个不同处的行号为:%d 列号为:%d" %(Hang,Lie)
匹配简单的以“www.”开头,以“.com”作结尾的 Web 域名,例如:www.yahoo.com. 附加题:使你写的正则表达式还支持其他顶级域名:.edu, .net 等,比如:www.ucsc.edu.
#!/usr/bin/env python
#coding=utf-8
import re
r ='^www\.(\w+)\.(com|edu|net)$'
while True:
s = raw_input("请输入域名:")
if re.match(r,s) == None:
print '您输入的域名有误,请重新输入'
else:
print '输入正确:',re.match(r,s).string
break