创建文件和文件夹循环

时间:2014-05-15 12:43:00

标签: python linux

嘿,我试着创建一个用于创建文件夹和文件的循环。 据我说,程序应该这样工作:

  1. 创建第一个文件夹和1个文件。
  2. 在其中创建第二个文件夹和一个文件
  3. 它继续...... 我的计划的作用是:

    1. 创建1个文件
    2. 创建文件夹
    3. 我的计划

      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 个答案:

答案 0 :(得分:1)

  

嘿,我试着创建一个用于创建文件夹和文件的循环。据我说,程序应该这样工作:1)创建第一个文件夹和1个文件。 2)创建第二个文件夹和1个文件,它继续.....我的程序做的是:1)创建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 :(得分: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")