web-dev-qa-db-ja.com

新しいフォルダを作成する方法

自分のプログラムの出力情報をフォルダに入れたい。与えられたフォルダが存在しない場合、プログラムはプログラムで与えられたフォルダ名で新しいフォルダを作成するべきです。これは可能ですか?もしそうなら、どうやって教えてください。

"C:\Program Files\alex"alexフォルダーのようなフォルダーパスを指定したとしたら、プログラムはalexフォルダーを作成し、出力情報をalexフォルダーに入れるべきです。

165
alex

あなたは os.makedirs() でフォルダを作成することができます
そして os.path.exists() を使って、それが既に存在するかどうかを調べます。

newpath = r'C:\Program Files\arbitrary' 
if not os.path.exists(newpath):
    os.makedirs(newpath)

あなたがインストーラを作ろうとしているなら: Windows Installer あなたのために多くの仕事をします。

264
mcandre

必要ならば、中間ディレクトリも作成するので、おそらく os.makedirs が必要です。

import os

#dir is not keyword
def makemydir(whatever):
  try:
    os.makedirs(whatever)
  except OSError:
    pass
  # let exception propagate if we just can't
  # cd into the specified directory
  os.chdir(whatever)
36
Alex Martelli

Os.mkdirを試しましたか?

また、この小さなコードスニペットを試すこともできます。

mypath = ...
if not os.path.isdir(mypath):
   os.makedirs(mypath)

必要に応じて、makedirsは複数レベルのディレクトリを作成します。

34
Juergen