Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 77273
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T20:48:16+00:00 2026-05-10T20:48:16+00:00

How do I create a directory at a given path, and also create any

  • 0

How do I create a directory at a given path, and also create any missing parent directories along that path? For example, the Bash command mkdir -p /path/to/nested/directory does this.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-10T20:48:17+00:00Added an answer on May 10, 2026 at 8:48 pm

    On Python ≥ 3.5, use pathlib.Path.mkdir:

    from pathlib import Path Path('/my/directory').mkdir(parents=True, exist_ok=True) 

    For older versions of Python, I see two answers with good qualities, each with a small flaw, so I will give my take on it:

    Try os.path.exists, and consider os.makedirs for the creation.

    import os if not os.path.exists(directory):     os.makedirs(directory) 

    As noted in comments and elsewhere, there’s a race condition – if the directory is created between the os.path.exists and the os.makedirs calls, the os.makedirs will fail with an OSError. Unfortunately, blanket-catching OSError and continuing is not foolproof, as it will ignore a failure to create the directory due to other factors, such as insufficient permissions, full disk, etc.

    One option would be to trap the OSError and examine the embedded error code (see Is there a cross-platform way of getting information from Python’s OSError):

    import os, errno  try:     os.makedirs(directory) except OSError as e:     if e.errno != errno.EEXIST:         raise 

    Alternatively, there could be a second os.path.exists, but suppose another created the directory after the first check, then removed it before the second one – we could still be fooled.

    Depending on the application, the danger of concurrent operations may be more or less than the danger posed by other factors such as file permissions. The developer would have to know more about the particular application being developed and its expected environment before choosing an implementation.

    Modern versions of Python improve this code quite a bit, both by exposing FileExistsError (in 3.3+)…

    try:     os.makedirs('path/to/directory') except FileExistsError:     # directory already exists     pass 

    …and by allowing a keyword argument to os.makedirs called exist_ok (in 3.2+).

    os.makedirs('path/to/directory', exist_ok=True)  # succeeds even if directory exists. 
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 63k
  • Answers 63k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • added an answer I'd not use threads for this. Just take the answers… May 11, 2026 at 10:37 am
  • added an answer Because of integer promotion. When the right hand side is… May 11, 2026 at 10:37 am
  • added an answer That is correct, there is no shared_array in TR1. You… May 11, 2026 at 10:37 am

Related Questions

How do I create a directory at a given path, and also create any
How exactly can I create a new directory using Emacs? What commands do I
How do I create a branch in SVN?
How do I create a branch in subversion that is deeper' than just the
How do I create a button control (with CreateWindow of a BUTTON window class)
How do I create a resource that I can reference and use in various
How do I create a unique constraint on an existing table in SQL Server
How do I create a apache RewriteRule that catches any request URL ending in
How do I create a file-like object (same duck type as File) with the
How do I create a self-signed certificate for code signing using the Windows SDK?

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.