我需要的是一个Python 3函数(或者其他什么函数),它接受一个文本流(比如sys.stdin
或者open(file_name, "rt")
返回的文本流),并返回一个文本流供其他函数使用,但是删除所有的空格,用逗号替换所有的制表符,并在用户代码读取数据时动态地将所有的字母转换为小写(“惰性”方式)。
我认为在Python 3中有一种相当简单的方法可以做到这一点,类似于列表理解,但不知道到目前为止到底是什么。
最佳答案
我不确定这是什么意思,但我能想到的最简单的方法是从文件继承(从open返回的类型)并重写read方法,以便在读取数据后执行所有您想要的操作。一个简单的实现方法是:
class MyFile(file):
def read(*args, **kwargs):
data = super().read(*args,**kwargs)
# process data eg. data.replace(' ',' ').replace('\t', ',').lower()
return data