April 2025
Intermediate to advanced
328 pages
3h 23m
Japanese
これまで見てきたプログラムのほとんどはエフェメラルなもので、短時間実行され、出力を生成しますが、終了するとデータは消えてしまいます。エフェメラルプログラムは、実行するたびにまっさらな状態から始まります。
他のプログラムは永続的です。長時間(あるいは常時)実行され、少なくともデータの一部は長期保存され、シャットダウンして再起動すれば、中断したところから再開されます。
プログラムがデータを管理する簡単な方法は、テキストファイルを読み書きすることです。より汎用的な方法として、データベースにデータを蓄積する方法があります。データベースは、テキストファイルよりも効率的に読み書きができる専用のファイルであり、追加の機能を備えています。
この章では、テキストファイルやデータベースを読み書きするプログラムを書き、練習問題として写真のコレクションから重複を検索するプログラムを書きます。しかし、ファイルを扱う前に、そのファイルを見つけなければならないので、ファイル名、パス、ディレクトリから始めることにします。
ファイルは「フォルダ」とも呼ばれるディレクトリに整理されます。実行中のすべてのプログラムにはカレント作業ディレクトリがあり、これはほとんどの操作のデフォルトディレクトリとなります。例えば、ファイルを開くとき、Pythonはカレント作業ディレクトリからファイルを探します。
osモジュールは、ファイルやディレクトリを操作するための関数を提供します(「os」は「operating system」を意味します)。osモジュールにはカレント作業ディレクトリの名前を取得するgetcwd関数があります。
import os
os.getcwd()