0Pricing
Python Academy · レッスン

環境とosモジュール

環境変数とパスを読み取ります

「環境とosモジュール」はCoddyKit上の無料Python Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPython Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Python Academyコースには全4レッスンが含まれています。

osモジュール

osモジュールは、オペレーティングシステムを操作するための窓口です。環境変数、ファイルパス、現在のディレクトリ、プロセス情報などを扱えます。

import os

print('os name:', os.name)

環境変数の読み取り

os.environは、環境変数を格納した辞書のようなマッピングです。インデックスを指定して値を読み取ります。

import os

os.environ['MY_APP_MODE'] = 'demo'
print(os.environ['MY_APP_MODE'])

getによる安全な読み取り

存在しない変数をインデックスで指定するとKeyErrorが発生します。代替値を指定して安全に検索するには、os.environ.get(name, default)を使用します。

import os

value = os.environ.get('NOT_SET', 'fallback')
print(value)
print(os.getenv('NOT_SET', 'also-fallback'))

変数の設定

os.environに代入すると、現在のプロセスと、そこから起動する子プロセスの環境変数が設定されます。

import os

os.environ['GREETING'] = 'hi'
print('GREETING' in os.environ)
print(os.environ['GREETING'])

現在のディレクトリ

os.getcwd()は作業ディレクトリを返し、os.chdir()は作業ディレクトリを変更します。

import os

print('start in:', os.getcwd())
os.chdir('/tmp')
print('now in:', os.getcwd())

ディレクトリの一覧表示

os.listdir(path)は、ディレクトリ内の名前を返します。パスの結合と組み合わせると、完全なパスを作成できます。

import os

entries = os.listdir('/')
print('root has', len(entries), 'entries')

移植性のあるパスの結合

文字列の連結でパスを作成してはいけません。os.path.joinは、プラットフォームに適した区切り文字を使用します。

import os

path = os.path.join('data', 'logs', 'today.txt')
print(path)

パスの調査

os.pathには、パスの検査や分解に使えるヘルパーがあります。exists、isfile、isdir、basename、dirname、splitextなどです。

import os

p = '/tmp/report.txt'
print('dir:', os.path.dirname(p))
print('name:', os.path.basename(p))
print('ext:', os.path.splitext(p)[1])

ディレクトリの作成と削除

os.makedirsは入れ子になったディレクトリを作成します。exist_ok=Trueを指定すると、すでに存在する場合もエラーになりません。os.rmdirは空のディレクトリを削除します。

import os

os.makedirs('/tmp/demo_dir/sub', exist_ok=True)
print('exists:', os.path.isdir('/tmp/demo_dir/sub'))

ユーザーと変数の展開

os.path.expanduser('~')はホームディレクトリを解決し、os.path.expandvarsは文字列内の環境変数を置き換えます。

import os

os.environ['CITY'] = 'Paris'
print(os.path.expandvars('Living in $CITY'))

プロセスとシステムの情報

os.getpid()はプロセスIDを返し、os.cpu_count()はCPU数を返します。これらはスレッドプールやプロセスプールのサイズを決める際に役立ちます。

import os

print('pid:', os.getpid())
print('cpus:', os.cpu_count())

確認問題

osモジュールと環境変数の理解度を確認しましょう。

復習

osモジュールと環境変数について学びました。

  • os.environとos.getenvを使うと、変数を安全に読み書きできます。
  • getcwd、chdir、listdirでファイルシステムを操作できます。
  • os.path.joinは移植性のあるパスを作成し、各種ヘルパーでパスを調査できます。
  • makedirs、getpid、cpu_countも活用できます。

次は、shutilを使ったより高水準のファイル操作です。

よくある質問

「環境とosモジュール」レッスンは無料ですか?

はい。「環境とosモジュール」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Python Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Python Academyコースには全4レッスンが含まれています。

「環境とosモジュール」で何を学びますか?

環境変数とパスを読み取ります ブラウザで直接実行するハンズオンコードでPython Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Python Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのPython Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「環境とosモジュール」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このPython Academyレッスンでコードを書いて実行できますか?

はい。すべてのPython Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. subprocessによるコマンド実行
  2. 出力の取得
  3. 環境とosモジュール
  4. ファイル操作のためのshutil
← Python Academyに戻る