python写mapreduce,在reduce.py那一步想要读取一个文件的内容创建字典


import sys

def read_mapper_output(file):
    for line in file:
        yield line.rstrip().split('\t', 1)


def main(separator = '\t'):
    """
    f = open("test.txt")
    for line in f:
        print(line)
    f.close()
    """
    
    data = read_mapper_output(sys.stdin)
    for words in data:
        print(words[0]+"    sdsd")
    

if __name__=="__main__":
    main()

上图是reduce.py代码部分,注释掉那部分内容之后是能够正常运行的,求助!!!!!

你写成绝对路径再试试,我这运行可以

import sys
def read_mapper_output(file):
    for line in file:
        yield line.rstrip().split('\t', 1)
def main(separator='\t'):
    f = open("C:/Users/Lenovo/Desktop/1.txt",encoding='utf-8')
    for line in f:
        print(line)
    f.close()
    data = read_mapper_output(sys.stdin)
    for words in data:
        print(words[0] + "sdsd")
if __name__ == "__main__":
    main()

img

你想问什么