Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Create a folder with Python
import os
def createFolder(directory):
try:
if not os.path.exists(directory):
os.makedirs(directory)
except OSError:
print ('Error: Creating directory. ' + directory)
# Example
createFolder('./data/')
# Creates a folder in the current directory called data
@nickgeorgeseo
Copy link

Awesome!!! Thank you.

@CosmicCruiser
Copy link

Thks...

@ganeshhubale
Copy link

Thank you so much

@rec16005
Copy link

Thank you!
If someone is getting a unicode error when trying to create a folder in a directory (C\Users\etc...) just duplicate all backslashes like this (C\Users\etc...)

@stefan-wullems
Copy link

Saved me from writing 600+ new directories.

@j5207
Copy link

j5207 commented Jul 11, 2018

Thanks

@hjoon0510
Copy link

good!

@hjoon0510
Copy link

I wonder how decide directory name?

@gwangjinkim
Copy link

gwangjinkim commented Aug 23, 2018

Isn't this all already done by

import os
os.makedirs(directory, exist_ok = True)

? (thanks @EricHedengren for correction below! ;)

exist ok = True checks for existence and makes dir created if not existing

OSErrors from the os package will do the error messaging ...

@EmoryMullis
Copy link

EmoryMullis commented Sep 16, 2018

hjoon0510 I am working on learning Python myself but as to selecting the NAME. I import the "socket", then set a variable to hostname = socket.gethostname(). I can then call that variable to name my file or directory. Again I am trying to learn also so there may be a better way to do it but here is the code I am playing with to learn.
import wmi
import datetime
import sys
import os
import platform
import getpass
import socket
import ifaddr
from psutil import virtual_memory

ps = platform.system()
pr = platform.release()
build = platform.version()
cdir = os.getcwd()
mem = virtual_memory()
username = getpass.getuser()
hostname = socket.gethostname()
adapters = ifaddr.get_adapters()
mType = platform.machine()
pType = platform.processor()
currentDT = datetime.datetime.now()

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

createFolder('./hostname/')

sys.stdout = open("%s %s" % (hostname, (currentDT.strftime("%m%d%Y %H%M%S"))) + ".txt", "w+")

HDs = wmi.WMI()
for hdSerialnum in HDs.Win32_PhysicalMedia():
print(hdSerialnum.Tag.strip("\.\PHYSICAL"), hdSerialnum.SerialNumber)
print('')

print("Installed OS: " + ps + '\n' + "OS Version: " + pr + '\n' + "OS Build: " + build + '\n' +
"Current Dir: " + cdir + '\n' + "Machine Type: " + mType + '\n' + "Processor: " +
pType + '\n' + "RAM Total: " + str(mem.total) + '\n' + "Current User Name: "
+ username + '\n' + "Computer Name: " + hostname + '\n')

for adapter in adapters:
print(adapter.nice_name)
for ip in adapter.ips:
print(" %s/%s" % (ip.ip, ip.network_prefix))

sys.stdout.close()

@niceinjeolmi
Copy link

thank you so much!

@figmulberry
Copy link

This is wonderful!

@rohit1607
Copy link

Thanks alot!

@DongaEG
Copy link

DongaEG commented Sep 1, 2019

thank u

@Matin-B
Copy link

Matin-B commented Sep 20, 2019

Thanks

@GwenVCX
Copy link

GwenVCX commented Sep 30, 2019

Thank you! :)

@chichur
Copy link

chichur commented Oct 25, 2019

Thank BRO!!!

@sankarsarika74
Copy link

you can change your directory by os.chdir

@Moonshine42tech
Copy link

Thank you

@DATTUSAM
Copy link

Thank you very much..... keithweaver

if anybody facing issue while creating the folder, followed with an error message like this
def createFolder(D:\Sampath\web_scrapper\temp):
^
SyntaxError: unexpected character after line continuation character

please just duplicate with a backslash for the directory you want to create. Here I want to create a Temp folder in web_scrapper folder
createFolder('D:\Sampath\PAMM_web_scrapper/temp/')

@eric-hedengren
Copy link

eric-hedengren commented Jul 9, 2020

Isn't this all already done by

import os
os.mkdirs(directory, exist_ok = True)

?

exist ok = True checks for existence and makes dir created if not existing

OSErrors from the os package will do the error messaging ...

You're right @gwangjinkim. Just switch mkdirs to makedirs and it's good to go.

import os
os.makedirs(directory, exist_ok = True)

@gwangjinkim
Copy link

@EricHedengren thanks! True! I always have to look this up anew.

@khu17jain
Copy link

if i would like to create two folders in single directory how to do that

@eric-hedengren
Copy link

@khu17jain Write two makedirs statements to the same location. For loop it if you have a lot.

@qdb99581
Copy link

best code I have ever found, thx!

@JeremyMeissner
Copy link

Thank you!

@Hemantphareesh
Copy link

how to create a folder with name in format yyyy-mm-dd from any year to today

@DanialBahrizadeh
Copy link

thank you man ``

@SaberKazemii
Copy link

Great! Thanks so much!

@lucasgcruz
Copy link

Thank you, very useful and helped me understand the command.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment