Tom
Tom

Reputation: 13

Making and naming folders

I am trying to make a script that is making a main folder with sub folders. I am working on how to do it, this is how far i have managed to come. I have just started to learn python.

My idea is: Making a folder named Somthing, with subfolders named somthingelse1,somthingelse2,somthingelse3.

Here is my code:

name_folder = input('Folder name:')
fil = int(input("How many folders:"))
start = 1

import os

def createFolder(directory):
    try:
        if not os.path.exists(directory):
            os.makedirs(directory)
    except OSError:
        print ('Error: Creating directory. ' +  directory)

while start <= fil:
    print ("making folder")
    createFolder('./%s/'+ str(start)(name_folder))
    start = start + 1

And here is my output:

Folder name:test
How many folders:10
making folder
Traceback (most recent call last):
  File ".\folder.py", line 16, in <module>
    createFolder('./%s/'+ str(start)(name_folder))
TypeError: 'str' object is not callable

Some help or poiners would help me thx.

Upvotes: 0

Views: 60

Answers (2)

KC.
KC.

Reputation: 3107

I think you want to write so:

createFolder('./%s/'%name_folder + str(start)) # but this is not recommended

You should do:

 createFolder('./{}/{}'.format(name_folder, start))

Upvotes: 0

OneCricketeer
OneCricketeer

Reputation: 192043

It appears you're wanting to do this

createFolder('./{}/somethingelse{}/'.format(namefolder, start))

Upvotes: 1

Related Questions