241

プログラムの出力情報をフォルダに入れたい。指定されたフォルダーが存在しない場合、プログラムは、プログラムで指定されたフォルダー名で新しいフォルダーを作成する必要があります。これは可能ですか?はいの場合、方法を教えてください。

次のようなフォルダーパスを指定し"C:\Program Files\alex"alexフォルダーが存在しない場合、プログラムはフォルダーを作成alexし、出力情報をフォルダーに配置する必要がありalexます。

4

3 に答える 3

374

os.makedirs()でフォルダーを作成し、os.path.exists()
を使用して、フォルダーが既に存在するかどうかを確認できます。

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

インストーラーを作成しようとしている場合: Windows インストーラーが多くの作業を行います。

于 2009-08-13T20:43:37.813 に答える
50

os.mkdir を試しましたか?

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

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

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

于 2009-08-13T20:39:10.353 に答える
40

必要に応じて、中間ディレクトリも作成されるため、おそらく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)
于 2009-08-13T20:46:12.253 に答える