環境と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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- subprocessによるコマンド実行
- 出力の取得
- 環境とosモジュール
- ファイル操作のためのshutil