使用python中的循环创建多个文件夹

时间:2017-06-19 10:57:12

标签: python for-loop while-loop mkdir

我想在python中编写一个函数,每当给定条件为真时创建一个文件夹。我不知道这个条件能完成多少次。它就像

step_1条件true创建folder1 step_2 condition true create folder2 ... step_n条件true创建foldern

3 个答案:

答案 0 :(得分:1)

包含os.mkdiros.mkdirs

的循环

https://docs.python.org/2/library/os.html

  

os.mkdir(path[, mode])

     

使用数字模式模式创建名为path的目录。默认模式为0777(八进制)。如果目录已存在,则OSError为   提高。

     

在某些系统上,忽略模式。在使用它的地方,首先屏蔽当前的umask值。如果是最后9位以外的位(即   设置模式的八进制表示的最后3位数,   他们的意思是平台依赖的。在某些平台上,它们是   忽略,你应该显式调用chmod()来设置它们。

     

也可以创建临时目录;请参阅tempfile模块的tempfile.mkdtemp()函数。

     

可用性:Unix,Windows。

     

os.makedirs(path[, mode])

     

递归目录创建功能。像mkdir()一样,但是需要包含叶子目录的所有中间级目录。   如果leaf目录已存在,则引发错误异常   无法创建。默认模式为0777(八进制)。

     

mode参数传递给mkdir();请参阅mkdir()描述,了解它的解释方式。

如下所示:

import os

for i in range(n):
    # makeadir() evaluates your condition
    if makeadir(i):
        path = 'folder {}'.format(i)
        if not os.path.exists(path):
            os.mkdir(path)

编辑:如果你有一个条件:

import os

i = 1
while eval_condition():
    path = 'folder {}'.format(i)
    if not os.path.exists(path):
        os.mkdir(path)
    i += 1

答案 1 :(得分:0)

最简单的方法是使用while循环并使用计数器计算循环次数。

import os

counter=1
while statement:
    os.mkdir('folder{}'.format(str(counter)))
    counter += 1
    # give a new value to your statement to keep creating or stop creating directories
    statement = true 

答案 2 :(得分:0)

import os

condition_success = 0 # set initial 0 
while True:
    condition_success += 1 # get counter for condition to increment if condition is true:
    # By default this will create folder within same directory
    os.makedirs("folder"+str(condition_success)) # creates folder1 if condition_success is 1
  

创建目录,在其他地方设置路径

path = "/path/"
os.makedirs(path + "folder"+str(condition_success))
     

或者您可以直接将其创建为

  os.makedirs("/path/folder"+str(condition_success))

替代方式:

  

如果您想在子条件下使用该条件,则可以使用if   声明执行它或打破你的条件,以防止无限   环

condition_success = 0
usr_input = int(input("Enter number to create number of folder/execute condition: ")) # get number from user input
while True:
  condition_success += 1 # get counter for condition to increment if condition is true:
  # By default this will create folder within same directory
  os.makedirs("folder"+str(condition_success)) # creates folder1 if condition_success is 1
  if condition_success >= usr_input:
      break