Pythonでのファイル処理
ファイル
ファイルには大きく分けて、プログラムファイルとデータファイルの2種類があります。
プログラムファイル OSやアプリケーションとこれらに関連するソフトウェア全般を指します。
データファイル 撮影した画像や動画、パソコンで作成したワード、エクセルファイルや文章など、ユーザーが自分で作成したオリジナルのファイルを指します。
ファイル形式
ファイルには、そのファイルの種類を示した拡張子(かくちょうし)という文字列が割り当てられていて、それぞれに対応したアプリケーションが存在します。
例として「txt」、「xlsx」、「jpg」、「gif」、「PNG」、といったようにファイル名の末尾を確認することで、そのファイルがどういう形式なのかを知ることができます。
メモリ
メモリではデータを電気的にそして、一時的に保存しておく。
高速で読み書きを行なってくれることが利点。
open()
Pythonでファイルを開く場合、 open関数を使用します。
open関数は、Pythonの組み込み関数の1つなので特別な宣言などを行う必要はなく、
新規ファイルの作成や書き込み、読み込み、追記、保存等の作業を行うことができ、ファイルオブジェクトを受け取ることができます。
open関数は、下記の記述で使用することができます。
実行方法
open('開きたいファイル名')
エラー絡み発生した場合以下のように取得することができるようです。
try:
with open(‘hatamoto’, encoding='utf-8') as fin:
pass
except FileNotFoundError:
print(‘対象のファイルが見つかりませんでした')
オプションを指定したい場合は、以下にする。
open('hatamoto', mode='rb')
オプション | 説明 |
---|---|
r | 読み込み用に開く (デフォルト) |
w | 書き込み用に開き、まずファイルを切り詰める |
x | 排他的な生成に開き、ファイルが存在する場合は失敗する |
a | 書き込み用に開き、ファイルが存在する場合は末尾に追記する |
b | バイナリモード |
t | テキストモード (デフォルト) |
+ | 複数のオプションを使用するためのものです。 |
デフォルトのモードは 'rt' となります
第三引数にはエンコードを渡しますが、デフォルトの文字コードは「UTF-8」として扱われます。
ファイルの読み込み
メソッド | 説明 |
---|---|
read() | ファイルから指定したデータを読みこむ。デフォルトはファイルの内容全てを読み出します。 |
readline() | ファイルから1行読みこむ |
readlines() | ファイルの内容を全て読み出し、1行ごとのリストにします。 |
書き込みメソッド
メソッド | 説明 |
---|---|
write( | 文字列を書き込む。数値などを書き込みたい場合は、str()で一度文字列に変換する。 |
writelines() | 文字列のリストをまとめて書き込む。数値などを書き込みたい場合はstr()で文字列に変換する。 |
- バイナリファイル
バイナリファイルはテキストファイル以外のファイル
画像データや動画、Excelファイル、プログラム開発ファイル、などのこと。
バイナリファイルを開きたい場合は、「b」オプションを使用する。
バイナリファイルの場合は、エンコードを指定する必要はない。
- 関数型
プログラミングは問題をいくつかの関数にわけて考えます。
できるだけ人間にわかりやすく、テスト管理がしやすい、を目的としているようです。
Javaなどのオブジェクト思考と同じく概念的なものと考えています。