① python比較兩個文件是否相同,倒數第二行不太明白
答: 確實是有道理的,在文件當中的第7行,實現的功能就是從第1個文件中取一個字元,而第8行是在第2個文件中取一行字元,那麼一個字元和一行字元比較肯定是不相等的呢,所以我覺得第7行那個for循環改一下,改成每次取一行,然後一行和一行比較當比較,結果不同時記錄下它的行號,得到最後的結果。
希望可以幫助到你!
② 在Python里怎麼比較兩個txt文檔並且輸出不同部分
我覺得這個問題編程不是最重要的問題,關鍵是需求和演算法。
比如說兩個文本,如何區分相同和不同?
如:A.txt:125586aaabbbccc
B.txt:1255aaaddd
這兩個文本比較應該輸出什麼呢?
③ python內兩個CSV文件數據比較。。。求大神解答!!
t=open('gzb.csv').readlines()
d=[[int(x)forxiny.split(',')]foryint[1:]]
t1=open('gzb1.csv').readlines()[1:]
d1=[[int(x)forxiny.split(',')[:-1]]foryint1]
o=[t1[i][-2]ifd1[i][1]-1<=d[i][1]<=d1[i][1]+1andd1[i][2]-1<=d[i][2]<=d1[i][2]+1else''foriinrange(len(t1))]
open('out.csv','w').writelines([t[0]]+[t[i+1].strip()+o[i]+' 'foriinrange(len(t)-1)])
我想問題中應該是閉區間,你給的是開區間,我按閉區間寫
④ python文本對比
這個是因為,你少了一個break 。可以這么理解:因為咱是按行跟行比較的,第一層循環取第一行,第二層循環,取第一行比較,不管比較的結果如何,這兩個FOR都必須往下走到下一行。但是你的程序,如果相等,就跳出,比較下一行,如果不相等,繼續用第一個FOR的值,跟第二個FOR的下一個值比較。簡單說,就是 當不相等的時候,一直用第一個FOR的值,跟第二個FOR的所有值比較,比較完才跳出循環。
if linea!=lineb:
n=n+1
print "在第%d行不一致" %(row)
print "123 is %s" %(linea)
print "122 is %s" %(lineb)
break
else:
break
⑤ python 從文件讀數並比較大小
file_a = open("a.txt")
file_b = open("b.txt", 'w')
comp_num = 10 # 此為固定數
num = file_a.readline()[: -1]
while num:
if float(num) > comp_num:
file_b.write(num + ' -1\n')
else:
file_b.write(num + ' 1\n')
num = filea.readline()[: -1]
file_a.close()
file_b.close()
⑥ python中怎麼快速比較2個文件中的內容
可以用 difflib庫,下面給一個例子,具體需求自己研究
假如在同一個目錄下有a.txt, b.txt 兩個文本文件
a.txt 內容是
aaa
bbb
b.txt內容是
aaa
ccc
importdifflib
a=open('a.txt','U').readlines()
b=open('b.txt','U').readlines()
diff=difflib.ndiff(a,b)
sys.stdout.writelines(diff)
結果是:
aaa
- bbb+ ccc