我想创建100个文件夹,并在每个文件夹中创建一个txt文件。我想在每个文本文件中写出不同的东西,因为某些条件。我可以创建文件夹,并在每个文件夹中创建文件。但是,通过使用打开(' ...')作为f:,我无法在每个文本文件中编写不同的内容。
以下是创建文件夹和文件的代码。它运作得很好。
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))
我知道代码的最后一部分是完全错误的,但它可以帮助理解我想要的东西。
因此每个folder_i都有一个file_i.txt文件,其中包含" i"写在里面。
感谢您的帮助!!
答案 0 :(得分: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()
如果您遇到任何错误,或者卡在某处,请告诉我。