Pythonでファイル・フォルダ操作 〜osモジュールでの名前の取得 os.listdir、フォルダ作成 os.mkdir〜

目次

osモジュールとshutilモジュール

前にInkbirdの温度・湿度データをpythonで読み込む際、shutilモジュールでフォルダを中のファイルごと消せるということを紹介しました。

あわせて読みたい
Pythonで温度・湿度ロガー IBS-TH1 PLUSのデータを分析してみる その2:フォルダの確認・作成&再作成
Pythonで温度・湿度ロガー IBS-TH1 PLUSのデータを分析してみる その2:フォルダの確認・作成&再作成【インポートとパスの確認】前回、温度・湿度ロガーのデータ分析のため、フォルダ構造を考えてみました。https://3pysci.com/inkbird-4/フォルダ構造が決まったので、今...

まだshutilモジュールの解説を書いていなかったので書きたいのですが、shutilモジュールは何がいいのか分かってもらうために、まずはosモジュールにある同じ様な機能を紹介していきます。

そしてshutilモジュールを紹介して、比較することにより、より理解が深まることでしょう。

ということで今回から数回に分けて、osモジュールを使ってファイルやフォルダを操作してみましょう。

ちなみにosモジュールでフォルダ間を移動したり、パスを表示したりというのは前に紹介していますので、良かったらこちらの記事もどうぞ。

あわせて読みたい
Pythonのosモジュールによるフォルダ間移動とファイル名取得 〜絶対パスと相対パスの違いを添えて〜
Pythonのosモジュールによるフォルダ間移動とファイル名取得 〜絶対パスと相対パスの違いを添えて〜【フォルダ間移動】前にcsvファイルの書き込みに関して説明しました。その際はプログラムと読み込むファイルは同じフォルダにある必要があり、また新規作成されるファイ...

また先に使いそうな操作も解説していますので、こちらの記事も参考にしてください。

あわせて読みたい
Pythonでフォルダの作成と削除(mkdir、 rmdir、shutil.rmtree)
Pythonでフォルダの作成と削除(mkdir、 rmdir、shutil.rmtree)【フォルダの作成:os.mkdir()】前にosモジュールを使って、フォルダ間の移動やファイル名の取得を行いました。https://3pysci.com/pytnon-os-1/そこまで解説しておきな...

練習用フォルダの準備

まずは色々と試していく上で、中身がぐちゃぐちゃになってもいいように、練習用のフォルダをお好きなところに適当にフォルダを作ってください。

私はデスクトップに「os_module_test」というフォルダを作りました。

もちろんフォルダを作っただけなので、中身は空です。

これでAnacondaを起動し、作ったフォルダに新しいPythonプログラムを作成します。

Anacondaの基本操作に関してはこちらの記事で解説指定ますので、良かったらこちらもどうぞ。

あわせて読みたい
Pythonプログラミング環境 Anaconda 〜インストール・基本的な使い方・パッケージのインストール方法〜
Pythonプログラミング環境 Anaconda 〜インストール・基本的な使い方・パッケージのインストール方法〜【Anacondaについて】とりあえずAnacondaのウェブサイトを紹介しましょう。トップページにはでかでかとThe Enterprise Data Science Platform for Data Scientists, IT ...

空のプログラムが開いたら、一行目でosモジュールをインポートします。

import os

そして「Shift + Enter」を押して実行します。

これで準備完了です。

ファイル・フォルダ名の取得:os.listdir(“パス”)

まずはファイル・フォルダの表示方法を試してみましょう。

現在いる場所(os_module_testフォルダ)のファイル・フォルダを表示を取得するには、os.listdir()を使います。

この場合、ファイル・フォルダ名はリスト化されます。

リストに関しての記事もありますので、良かったらどうぞ。

あわせて読みたい
Pythonのリスト(配列)の基本〜プログラミング初心者はまずはこれだけ〜
Pythonのリスト(配列)の基本〜プログラミング初心者はまずはこれだけ〜【リストとは?】今回はリストとか配列と呼ばれる仕組みに関して解説します。前に変数に関して、説明しました。https://3pysci.com/python-print-1/その時、変数名と変...

また表示するにはprint関数を用います。

print(os.listdir())

実行結果
['.DS_Store', 'Untitled.ipynb', '.ipynb_checkpoints']

実行結果で得られた’.DS_Sore’はMacが勝手に作る隠しフォルダなので気にしないでください。

また’.ipynb_checkpoints’はAnacondaが勝手に作る自動セーブ用フォルダですので、こちらも気にしないでください。

‘Untitled.ipynb’は今、色々いじっているPythonプログラムです。

ちなみにファイル、フォルダ名の最初にピリオド(.)が付いているものは隠しフォルダで通常はみることができないフォルダになります。

そのためFinderでフォルダを見てみると、’Untitled.ipynb’しかありません。

またos.listdir()の括弧の中にフォルダ名やパスを入力するとその場所のファイル・フォルダ名を取得することができます。

現在はフォルダがないので、後ほど試してみましょう。

フォルダの作成:os.mkdir(“フォルダ名”)

フォルダを作成するにはos.mkdir()を使います。

とりあえずfolder1というフォルダを作ってみましょう。

作るだけでは作成されたか分からないので、先ほどと同様にprint(os.listdir())でファイル・フォルダを表示させます。

os.mkdir("folder1")

print(os.listdir())

実行結果
['.DS_Store', 'Untitled.ipynb', '.ipynb_checkpoints', 'folder1']

確かにfolder1が作成されています。

ついでにfolder2というフォルダも作成しておきましょう。

os.mkdir("folder2")

print(os.listdir())

実行結果
['.DS_Store', 'Untitled.ipynb', 'folder2', '.ipynb_checkpoints', 'folder1']

ちなみにもうすでにある名前のフォルダを作成しようとするとエラーになりますので、注意してください。

試しにfolder2を作成したセルを再度実行してみます。

os.mkdir("folder2")

print(os.listdir())

実行結果
---------------------------------------------------------------------------
FileExistsError                           Traceback (most recent call last)
<ipython-input-7-f2bd33d9d50a> in <module>
----> 1 os.mkdir("folder2")
      2 
      3 print(os.listdir())

FileExistsError: [Errno 17] File exists: 'folder2'

今回はまずはファイル・フォルダ操作の基本、ファイル・フォルダ名の取得と新規フォルダの作成を解説しました。

またファイル・フォルダ名の取得に関しては、ファイル名、フォルダ名別々に取得する方法もありますので、それはまた今度解説したいと思います。

次回はosモジュールではないのですが、ファイルの作成方法を解説します。

あわせて読みたい
Pythonでファイル操作 〜新規作成、追記、読み取り〜
Pythonでファイル操作 〜新規作成、追記、読み取り〜【前回のおさらい】前回からosモジュールとshutilモジュールを比較するため、ファイル・フォルダ操作に関して解説をしています。https://3pysci.com/python-os-3/前回は...

ということで今回はこんな感じで。

よかったらシェアしてね!

コメント

コメントする

目次
閉じる