シェルで取得するのと同じ権限をすでに取得していますmkdir
。
シェルmkdirを使用:
dirオペランドごとに、mkdirユーティリティは、IEEE Std 1003.1-2001のシステムインターフェイスボリュームで定義されているmkdir()関数と同等のアクションを実行し、次の引数で呼び出されます。
dirオペランドは、パス引数として使用されます。
S_IRWXU、S_IRWXG、およびS_IRWXOのビット単位のORの値は、モード引数として使用されます。(-mオプションが指定されている場合、mode option-argumentはこのデフォルトをオーバーライドします。)
または、より読みやすく(BSDマンページから):
...現在のumask(2)によって変更されたモードrwxrwxrwx(0777)を使用して、指定された順序でオペランドとして指定されたディレクトリを作成します。
Pythonos.mkdir
はまったく同じことをします:
...[t]デフォルトモードは0777です...現在のumask値が最初にマスクされます。
実際、Pythonは、シェルのドキュメントに記載されているのとまったく同じPOSIXmkdir関数をまったく同じ引数で呼び出します。その関数は次のように定義されます。
新しいディレクトリのファイル許可ビットは、モードから初期化されます。mode引数のこれらのファイル許可ビットは、プロセスのファイル作成マスクによって変更されます。
または、もっと読みやすく、FreeBSD / OSXのマンページから:
ディレクトリパスは、モードで指定され、呼び出しプロセスのumask(2)によって制限されたアクセス許可で作成されます。
Windowsのような非POSIXプラットフォームを使用している場合、Pythonは、ネイティブシェルに別の方法で呼び出されるコマンドがある場合でも、POSIXの動作をエミュレートしようとしmkdir
ます。これは主に、そのような主要なシェルがWindowsであり、これはmdmkdir
の同義語であり、アクセス許可が文書化されていない限り、そのシェルの機能の詳細が文書化されていないためです。