MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
Pythonの基礎 - ディレクトリのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
Pythonの基礎 - ディレクトリ
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == Pythonでは、ディレクトリに含まれるファイルの一覧を取得したり、ディレクトリ名を変更したりすることができる。<br> <br><br> == ディレクトリの作成 / 削除 == ==== ディレクトリの作成 ==== ディレクトリを新規作成する場合は、<code>mkdir</code>関数を使用する。<br> <br> <code>mkdir</code>関数は、第1引数に指定したパスが示すディレクトリを新規作成する。<br> 省略可能な第2引数には、新規作成するディレクトリの権限を設定する。(省略された場合、8進数で<code>0o777</code>が設定される)<br> <syntaxhighlight lang="python"> os.mkdir(path, mode = 0o777, *, dir_fd = None) </syntaxhighlight> <br> <syntaxhighlight lang="python"> import os path = './test/movie' os.mkdir(path) </syntaxhighlight> <br> <u>※注意</u><br> <u><code>mkdir</code>関数は、中間ディレクトリを作成することができない。</u><br> <u>例えば、/home/hoge/img/backディレクトリを作成する場合、/home/hoge/imgディレクトリが存在していない時は、例外<code>FileNotFoundError</code>が発生する。</u><br> <u>また、新規作成するディレクトリが既に存在する場合は、例外<code>FileExistsError</code>が発生する。</u><br> <br> ==== 中間ディレクトリも同時に作成する ==== 中間ディレクトリも同時に新規作成する場合、<code>os</code>モジュールの<code>makedirs</code>関数を使用する。<br> <br> 第1引数に指定したパスが示すディレクトリを新規作成する。<br> 省略可能な第2引数には、新規作成するディレクトリの権限を設定する。(省略した場合は、8進数で<code>0o777</code>が設定される)<br> 省略可能な第3引数に<code>True</code>を指定する場合、新規作成するディレクトリが既に存在してもエラーが発生しない。<br> 新規作成するディレクトリが既に存在する場合、引数を省略するか、明示的に<code>exist_ok = False</code>を指定すると例外<code>FileExistsError</code>が発生する。<br> <syntaxhighlight lang="python"> os.makedirs(name, mode = 0o777, exist_ok = False) </syntaxhighlight> <br> 以下の例では、./test/movie/backディレクトリを新規作成している。<br> ./test/movie/backディレクトリが存在しない場合でも、中間ディレクトリである./test/movieディレクトリを作成後、指定のパスのディレクトリが作成される。<br> <syntaxhighlight lang="python"> import os path = './test/movie/back' os.makedirs(path, exist_ok = True) </syntaxhighlight> <br> ==== ディレクトリの削除 ==== ファイルを削除する場合は、<code>os</code>モジュールの<code>rmdir</code>関数を使用する。<br> <br> <code>rmdir</code>関数は、第1引数に指定したパスが示すファイルを削除する。<br> <br> ただし、ディレクトリを削除する場合は、ディレクトリの中身が空である必要があることに注意する。<br> 削除するディレクトリが空ではない場合、例外<code>OSError</code>が発生する。<br> <syntaxhighlight lang="python"> os.rmdir(path *, dir_fd = None) </syntaxhighlight> <br> 存在しないファイルを削除する場合、例外<code>FileNotFoundError</code>が発生する。<br> <syntaxhighlight lang="python"> import os path = './test/doc' os.rmdir(path) </syntaxhighlight> <br> ==== ディレクトリとディレクトリの中身の一括削除 ==== ディレクトリとディレクトリ内に存在するファイルを一括して削除する場合、<code>shutil</code>モジュールの<code>rmtree</code>関数を使用する。<br> <br> 第1引数に指定したパスが示すディレクトリを削除する。<br> ディレクトリ内にファイルやディレクトリが含まれている場合は、一括削除する。<br> <syntaxhighlight lang="python"> shutil.rmtree(path, ignore_errors = False, onerror = None) </syntaxhighlight> <br> <syntaxhighlight lang="python"> import shutil path = './test/movie' shutil.rmtree(path) </syntaxhighlight> <br><br> == ディレクトリの作成 / 削除 (pathlibモジュールの使用) == ==== ディレクトリの作成 (pathlibモジュールの使用) ==== ディレクトリを新規作成する場合は、<code>pathlib</code>モジュールにある<code>Path</code>クラスの<code>mkdir</code>メソッドを使用する。<br> <br> 省略可能な第1引数には、新規作成するディレクトリの権限を設定する。(省略された場合は、8進数で<code>0o777</code>が設定される) 省略可能な第2引数に<code>True</code>を指定する場合、中間ディレクトリを自動的に作成する。 省略可能な第3引数に<code>True</code>を指定する場合、新規作成するディレクトリが存在していてもエラーにはならない。 <syntaxhighlight lang="python"> Path.mkdir(mode=0o777, parents=False, exist_ok=False) </syntaxhighlight> <br> 以下の例では、新規作成するディレクトリを示すパスから<code>Path</code>クラスのインスタンスを生成した後、<code>mkdir</code>メソッドを使用している。<br> <code>mkdir</code>メソッドは中間ディレクトリを自動的に作成するため、中間ディレクトリである./testディレクトリが存在しない場合は、<br> ./testディレクトリを作成した後、指定のパスのディレクトリを作成する。<br> <syntaxhighlight lang="python"> import pathlib p = pathlib.Path('./test/back') p.mkdir(parents = True) </syntaxhighlight> <br> ==== ディレクトリの削除 (pathlibモジュールの使用) ==== ディレクトリを削除する場合、<code>pathlib</code>モジュールにある<code>Path</code>クラスの<code>rmdir</code>メソッドを使用する。<br> <br> ただし、ディレクトリは空である必要がある。<br> 削除するディレクトリが空ではない場合、例外<code>OSError</code>が発生する。<br> <syntaxhighlight lang="python"> Path.rmdir() </syntaxhighlight> <br> 以下の例では、削除するディレクトリを示すパスから<code>Path</code>クラスのインスタンスを作成した後、<code>rmdir</code>メソッドを使用している。<br> <syntaxhighlight lang="python"> import pathlib p = pathlib.Path('./test/movie') p.rmdir() </syntaxhighlight> <br><br> __FORCETOC__ [[カテゴリ:Python]]
Pythonの基礎 - ディレクトリ
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse