0

ワードカウントの例を使用して、Octo モジュールで mapreduce を学び始めました。dir hw3data 内の単語を数えようとします (以下に指定)。私の PC は、サーバーとクライアントの両方として機能します。

2つの端末でWindowsコマンドから始めました

server: octo.py server wordcount.py サーバー側は問題なく起動したようです

client: octo.py client localhost python は hw3data ディレクトリに保存した txt ファイルを見つけられないようです。だから誰でも助けることができますか?

wordcount.py コードは以下のとおりです

wordcount.py

サーバ

import glob

text_files=glob.glob('C:/Python27/octopy-0.1/hw3data/*.txt')

def file_contents(file_name):
    f=open(file_name)
    try:
        return f.read()
    finally:
        f.close()

source=dict((file_name,file_contents(file_name)) for file_name in text_files)

f=open('outfile','w')
def final(key,value):
    print key,value
    f.write(str((key,value)))

クライアント

def mapfn(key,value):

      for line in value.splitlines():

          for word in line.split():

               yield word.lower(),1

def reducefn(key,value):

       return key,len(value)
4

2 に答える 2

0

次のコードを変更します

text_files=glob.glob('C:/Python27/octopy-0.1/hw3data/*.txt')

text_files=glob.glob('C:/Python27/octopy-0.1/hw3data/*')

試してみてください。フォルダー内のファイルには拡張子がないと思います。

于 2013-06-02T16:13:50.870 に答える