python-比較兩個文件交集、並集、差集

python 比價兩個文件交集、並集、差集

 

#!/usr/bin/env python2.7
#coding=utf-8


'''
s05=set(['x','b','a'])
s06=set(['c','x','e'])
'''
s05=set(open('/Users/.../1205.txt','r').readlines())
s06=set(open('/Users/.../1206.txt','r').readlines())
output=True
path='/Users/ban/Downloads/rmcompare.txt'

print '集合比較'
result=s06&s05

print '----結果----'
n = len(result)
print 'n='+str(n)
if n>0 and n<100:
    for item in result:
        print item
print '----結果----'

if output:
    print '輸出結果'
    f = open(path,'w')
    f.writelines(result)
    f.close
    print '文件路徑'+path

print 'done!'
'''
一、授予執行權限:
cd /Users/ban/Downloads
chmod 777 compare.py
ls -all | grep compare.py

二、執行:
./compare.py

三、集合比價實例:
a = t | s          # t 和 s的並集  
b = t & s          # t 和 s的交集  
c = t – s          # 求差集(項在t中,但不在s中)  
d = t ^ s          # 對稱差集(項在t或s中,但不會同時出現在二者中)  

四、文件讀寫實例:
>>> f = open('test.txt', 'w') # 若是'wb'就表示寫二進制文件
>>> f.write('Hello, world!')
>>> f.close()
python文件對象提供了兩個“寫”方法: write() 和 writelines()。
    write()方法和read()、readline()方法對應,是將字符串寫入到文件中。
    writelines()方法和readlines()方法對應,也是針對列表的操作。它接收一個字符串列表作爲參數,將他們寫入到文件中,換行符不會自動的加入,因此,需要顯式的加入換行符。
關於open()的mode參數:
    'r':讀
    'w':寫
    'a':追加
    'r+' == r+w(可讀可寫,文件若不存在就報錯(IOError))
    'w+' == w+r(可讀可寫,文件若不存在就創建)
    'a+' ==a+r(可追加可寫,文件若不存在就創建)
    對應的,如果是二進制文件,就都加一個b就好啦:
    'rb'  'wb'  'ab'  'rb+'  'wb+'  'ab+'
'''

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章