2016-08-10 10 views
0

100個のフォルダを作成し、それぞれのフォルダにtxtファイルを作成したいと思います。そして、いくつかの条件のために、各テキストファイルに異なるものを書いてみたいと思います。私は、フォルダを作成し、各フォルダにファイルを作成することができます。しかし、open( '...')をf:として使用すると、各テキストファイルに異なるものを書くことができません。python - 作成された別のファイルに書き込む

ここに、フォルダとファイルを作成するコードを示します。それは完全に動作します。

def createAndFillFolders(): 

    for i in range(100): 
     dir_name = (('/home/pi/Project/folder_%s') % (i)) 
     if os.path.exists(dir_name): # if the folder already exists 
      shutil.rmtree(dir_name) # then overwrite 
     os.makedirs(dir_name) 
     open(os.path.join(dir_name, "file_%s" % (i + 1)), "w") 

しかし、今はそれぞれのファイルに別のものを書きたいと思ったら、これを適切に行う方法を見つけることができません。 私はオープンでos.path.join使用してみましたが、それは私が「(...)で開く使用している場合は動作しません:

with open(os.path.join(dire_name,'/file_%s.txt' % (i + 1, i + 1), "w") as #("file_%i.txt" % (i + 1)): 
     ("file_%i.txt" % (i + 1)).write("%i" %(i + 1)) 

を、私はこのコードの最後の部分はcompletly偽である知っているが、それは助けることができます私が持っていると思いますかを理解する。

をので、各folder_i「i」が内部書かれたとのfile_i.txtファイルを持っています。これを行うためのものです!!

+0

あなたはすべてのファイルとフォルダを正しく作成できますか?あなたはちょうどファイルを書くためにいくつかのものを援助する必要があります。 – harshil9968

+1

マップやファイルのリストを "ダイナミックに変数に名前を付けるにはどうすればいいですか"反パターンで再作成しようとしているようです。なぜ、各ファイルのハンドルを別のものと呼ぶ必要がありますか? –

+0

f.write( "%i"%(i + 1)) 'が動作していないため、f:\ n \ tとして'(.....) – JETM

答えて

2
def writeToFiles(): 

    for i in range(100): 
     dir_name = (('/home/pi/Project/folder_%s') % (i)) 
     f = open(os.path.join(dir_name, "file_%s" % (i + 1)), "w") 
     f.write(str(i)) 
     f.close() 

を支援するための

感謝をそれ

def createAndFillFolders(): 

    for i in range(100): 
     dir_name = (('/home/pi/Project/folder_%s') % (i)) 
     if os.path.exists(dir_name): # if the folder already exists 
      shutil.rmtree(dir_name) # then overwrite 
     os.makedirs(dir_name) 
     f = open(os.path.join(dir_name, "file_%s" % (i + 1)), "w") 
     f.write(str(i)) 
     f.close() 

は、あなたが任意のエラーに直面した場合、私に教えてください、またはどこかに立ち往生している:私はあなただけで、そのために自分のファイルやフォルダを作成中に、このような何かをすることを行うことを好むだろう。

+0

はい、@ JETMと同じです。 ありがとうございました –

+0

ダニをクリックして答えを受け入れてください。 – harshil9968

関連する問題