我发现这个类采用了空格分隔文件,如果有多个空格,它们将被视为一个单独的分隔符.如何在文件中看到这种效果?
class FH:
def __init__(self, fh):
self.fh = fh
def close(self):
self.fh.close()
def seek(self, arg):
self.fh.seek(arg)
def fix(self, s):
return ' '.join(s.split())
def next(self):
return self.fix(self.fh.next())
def __iter__(self):
for line in self.fh:
yield self.fix(line)
Run Code Online (Sandbox Code Playgroud)
那么如何在文件中看到这项工作呢?我创建了一个包含多个空格的文件来查看它的实际效果.
我这样做了:
In [31]: FH('classfhtry.csv')
Out[31]:
In [32]: r = FH('classfhtry.csv')
In [33]: r
Out[33]:
In [34]: print r
-------> print(r)
In [35]: f = open(r)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
/home/blahblahblah/Documents/Programming/EXERCISES/piece.py in ()
----> 1
2
3
4
5
TypeError: coercing to Unicode: need string or buffer, instance found
我想看看我的班级在行动!感谢任何2cents!
看起来这个类在初始化器中获取文件(不是文件名).尝试:
r = FH(file('classfhtry.csv', 'r'))
for line in r:
print line
Run Code Online (Sandbox Code Playgroud)