Skip to Content
Think Python 第3版 ―コンピュータ科学者の思考で問題を解決する
book

Think Python 第3版 ―コンピュータ科学者の思考で問題を解決する

by Allen B. Downey, 大橋 真也
April 2025
Intermediate to advanced
328 pages
3h 23m
Japanese
O'Reilly Japan, Inc.
Content preview from Think Python 第3版 ―コンピュータ科学者の思考で問題を解決する

13章ファイルとデータベース

これまで見てきたプログラムのほとんどはエフェメラルなもので、短時間実行され、出力を生成しますが、終了するとデータは消えてしまいます。エフェメラルプログラムは、実行するたびにまっさらな状態から始まります。

他のプログラムは永続的です。長時間(あるいは常時)実行され、少なくともデータの一部は長期保存され、シャットダウンして再起動すれば、中断したところから再開されます。

プログラムがデータを管理する簡単な方法は、テキストファイルを読み書きすることです。より汎用的な方法として、データベースにデータを蓄積する方法があります。データベースは、テキストファイルよりも効率的に読み書きができる専用のファイルであり、追加の機能を備えています。

この章では、テキストファイルやデータベースを読み書きするプログラムを書き、練習問題として写真のコレクションから重複を検索するプログラムを書きます。しかし、ファイルを扱う前に、そのファイルを見つけなければならないので、ファイル名、パス、ディレクトリから始めることにします。

ファイル名とパス

ファイルは「フォルダ」とも呼ばれるディレクトリに整理されます。実行中のすべてのプログラムにはカレント作業ディレクトリがあり、これはほとんどの操作のデフォルトディレクトリとなります。例えば、ファイルを開くとき、Pythonはカレント作業ディレクトリからファイルを探します。

osモジュールは、ファイルやディレクトリを操作するための関数を提供します(「os」は「operating system」を意味します)。osモジュールにはカレント作業ディレクトリの名前を取得するgetcwd関数があります。

import os

os.getcwd()
       
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Effective Python 第3版 ―Pythonプログラムを改良する125項目

Effective Python 第3版 ―Pythonプログラムを改良する125項目

Brett Slatkin, 鈴木 駿
入門 Python 3 第2版

入門 Python 3 第2版

Bill Lubanovic, 鈴木 駿, 長尾 高弘

Publisher Resources

ISBN: 9784814401161Supplemental Content