2017-08-10 20 views
0

すべての情報を含む1つのファイルに2つ以上のファイルを追加します。私のコードは次のとおりです。IOError:[Errno 2]そのようなファイルやディレクトリはありません: 't' python

IOError: [Errno 2] No such file or directory: 't'

理由:

def add_file(filenames, output_file): 
    with open(output_file, 'w') as master_file: 
     master_file.write('C/A,UNIT,SCP,DATEn,TIMEn,DESCn,ENTRIESn,EXITSn\n') 
     for filename in filenames: 
      with open(filename, 'r') as infile: 
       master_file.write(infile.read()) 

私はすべてのファイルに ショーを置くために呼び出すと?私は何を間違えたの?

+1

あなたは 'filenames'の文字列を渡しているので、文字列 – Wondercricket

答えて

1

文字列をfilenamesとして渡し、文字でそれを繰り返しました。代わりにリストを渡してください。関数の名前をadd_fileからadd_filesに変更する方が良いかもしれません。

out.txtに注意してください。この関数を1回以上呼び出す場合は、 'w'モードではなくappendモードで開く必要があります。

+0

または他の繰り返し可能なものを繰り返しています。 –

0

filenamesの文字列を渡すので、関数は文字列を繰り返し処理しています。これを解決するためのリストを渡す。

0
for filename in filenames: 

上記の行は、最初の引数によって1つずつ繰り返します。これは文字列になります。

あなたは「ファイル名」

with open(filename, 'r') as infile: 

このラインを呼び出し、ファイル名の項目として存在するものです。エラーは、文字列の最初の文字に達するとすぐに発生します。

関連する問題