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+'
'''