PyQオフィシャルブログ

Pythonのオンライン学習プラットフォームPyQのオフィシャルブログです

osモジュールの使用例

こんにちは、かめちゃんです。最近いただく質問に『osモジュールっていつ使うの?』『何の役に立つの?』があります。

PyQの問題ですと実感しづらいかと思いますが、osモジュールは自分のPC内のファイルを操作する時に便利です。

開発環境の構築については、下記の記事をご覧ください。

blog.pyq.jp

とあるディレクトリ(フォルダ)に存在するファイルの一覧が欲しい。(今回は対象のディレクトリ内で動作させています。)

os.listdir(ディレクトリパス) で対象のディレクトリ内のファイル、ディレクトリ一覧を取得し、 os.path.isfile() でファイルかどうか判定します。

import os

path = '.'
for file_name in os.listdir(path):
    if os.path.isfile(os.path.join(path, file_name)):
        print(file_name)

拡張子が txt のファイルだけ(今回は、globは使いません)

import os

path = '.'
for file_name in os.listdir(path):
    file_path = os.path.join(path, file_name)
    if os.path.isfile(file_path):
        root, ext = os.path.splitext(file_path)
        if ext == '.txt':
            print(file_name)

また、ファイル名の先頭に old_ を付けてリネイムしたい場合などは os.rename(元ファイルパス、新しいファイルパス) で変更できます。

os.rename(os.path.join(path, file_name), 
                   os.path.join(path, 'old_' + file_name))

ファイルが数個の場合は手作業でよいのですが、ファイル数が100、1000などの場合に簡単にファイル操作ができ、便利です。

他にも特定の文字列を内部に含むファイルを絞る、とあるディレクトリ(フォルダ)内のファイル(子ディレクトリを含む)を検索するなど、PyQの問題に便利なosモジュールを利用する問題があります。

問題一覧までは誰でも閲覧できますので、のぞいてみてください。(*^_^*)ノ

pyq.jp