创建文件和文件夹循环
你好,我试着写一个循环来创建文件夹和文件。
我认为这个程序应该这样工作:
- 先创建第一个文件夹,并在里面放一个文件。
- 然后创建第二个文件夹,并在里面放一个文件。
然后继续这样做……
但是我程序的实际表现是:
- 先创建一个文件。
- 再创建文件夹。
这是我的程序:
import os,sys
di=("ab")
a=0
i=0
fi=open("az.txt","w")
def file():
for i in range(0,10):
fi.write(str(i))
def mk():
for a in range(0,10):
os.mkdir(di+str(a))
file()
mk()
请帮帮我。
2 个回答
1
你好,我试着写一个循环来创建文件夹和文件。按照我的想法,程序应该这样工作:1)创建第一个文件夹,并在里面放一个文件;2)创建第二个文件夹,并在里面放一个文件,依此类推……但我的程序做的是:1)创建一个文件;2)创建文件夹。
确实,你的程序是这样做的,而不是你想要的那样。你的程序创建了文件夹,并在:
0123456789
里面写了十次内容到 az.txt
。你的错误在于,你在任何循环之外打开了一个文件,然后在循环中往里面写内容。
我想,这才是你想要的效果:
import os,sys
di="ab"
def mk_file(di):
for i in range(0,10):
with open("{}/az_{}.txt".format(di,i), "w") as fi:
fi.write(str(i))
def mk_dir():
for a in range(0,10):
dname = "{}_{}".format(di, str(a))
os.mkdir(dname)
mk_file(dname)
if __name__ == "__main__":
mk_dir()
1
这个脚本会创建名为 "a"、"b"、"c" 的文件夹,并在每个文件夹里放入文件 1.txt、2.txt 到 5.txt。
你可以根据需要进行修改,试试看。
import os
for i in "abc":
os.system ("mkdir "+i)
for j in range (5):
os.system ("touch "+str(i)+"/"+str(j)+".txt")