我有下面這段代碼拋出一個警告:如何在Python中進行安全的二進制比較?
UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
try:
f = open_old(filename, "rb")
aBuf = f.read(4)
f.close()
except:
aBuf=b''
if aBuf[:3] == b'\xEF\xBB\xBF':
print("...")
什麼是從文件讀取3個字節,並檢查他們的價值觀的正確方法。
我正在尋找可以在Python 2.6和newwer(包括3.x)中正常工作的解決方案。
對不起,如果這是一個愚蠢的觀察,但你不想說'f.read(3)'讀取3個字節? – 2011-05-10 14:19:18
不完全:) ...這只是一段代碼的摘錄。無論如何,我已經找到了適用於Python 2.x和3.x的解決方案。請在https://github.com/ssbarnea/tendo/blob/master/tendo/unicode.py#L23 – sorin 2011-05-10 14:47:30
檢查它。然後,您應該將答案添加到此主題中,然後接受它。 – 2011-05-10 14:49:31