Python Language
osモジュール
サーチ…
前書き
このモジュールは、オペレーティングシステムに依存する機能を移植可能な方法で提供します。
構文
- 輸入OS
パラメーター
パラメータ | 詳細 |
---|---|
パス | ファイルへのパス。パス区切りは、 os.path.sep によって決定されます。 |
モード | 目的のパーミッションを8進数で(例えば0700 ) |
ディレクトリを作成する
os.mkdir('newdir')
権限を指定する必要がある場合は、オプションのmode
引数を使用できます。
os.mkdir('newdir', mode=0700)
現在のディレクトリを取得する
os.getcwd()
関数を使用します。
print(os.getcwd())
オペレーティングシステムの名前を決定する
os
モジュールは、コードが現在実行されているオペレーティングシステムのタイプを決定するためのインタフェースを提供します。
os.name
これは、Python 3で次のいずれかを返すことができます:
-
posix
-
nt
-
ce
-
java
より詳細な情報はsys.platform
から取得できます
ディレクトリを削除する
path
のディレクトリを削除しpath
。
os.rmdir(path)
ディレクトリを削除するためにos.remove()
を使用しないでください。この関数はファイル用であり、ディレクトリ上でこの関数を使用するとOSError
シンボリックリンク(POSIX)
場合によっては、シンボリックリンクのターゲットを決定する必要があります。 os.readlink
はこれを行います:
print(os.readlink(path_to_symlink))
ファイルのアクセス許可を変更する
os.chmod(path, mode)
mode
は8進数で希望の許可です。
makedirs - 再帰的なディレクトリ作成
次の内容のローカルディレクトリを指定します。
└── dir1
├── subdir1
└── subdir2
既存のディレクトリdir2の下にsubdir1、subdir2と同じサブディレクトリを作成します。
import os
os.makedirs("./dir2/subdir1")
os.makedirs("./dir2/subdir2")
これを実行すると
├── dir1
│ ├── subdir1
│ └── subdir2
└── dir2
├── subdir1
└── subdir2
dir2は、subdir1の作成のために必要なときに初めて作成されます。
代わりにos.mkdirを使用した場合、dir2はまだ存在しないため、例外が発生します。
os.mkdir("./dir2/subdir1")
OSError: [Errno 2] No such file or directory: './dir2/subdir1'
os.makedirsは、ターゲット・ディレクトリがすでに存在する場合はそれを好まないでしょう。再実行した場合:
OSError: [Errno 17] File exists: './dir2/subdir1'
ただし、例外をキャッチしてディレクトリが作成されたことを確認することで、これを簡単に修正できます。
try:
os.makedirs("./dir2/subdir1")
except OSError:
if not os.path.isdir("./dir2/subdir1"):
raise
try:
os.makedirs("./dir2/subdir2")
except OSError:
if not os.path.isdir("./dir2/subdir2"):
raise
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow