我最近已经迁移到Py 3.5。这段代码在Python 2.7中正常工作: with open(fname, 'rb') as f: lines = [x.strip() for x in f.readlines()] for line in lines: tmp = line.strip().lower() if 'some-pattern' in tmp: continue # ... code 升级到3.5后,我得到了: TypeError: a bytes-like object is required, not 'str' 最后一行错误(模式搜索代码)。 我试过使用.decode()语句两侧的函数,也尝试过: if tmp.find('some-pattern') != -1: continue -无济于事。 我能够很快解决几乎所有的2:3问题,但是这个小小的声明困扰着我。