[python] ファイル操作

Pocket
LINEで送る
GREE にシェア
LinkedIn にシェア

Pythonの基礎勉強が終わった所で応用、実践を行なって行きたい。
以前、このブログで弾けたどんなプログラム言語でも覚える時にの共通習得仕様:15項目を参考に、実装してみることにしよう。
今回は、ファイル操作を実行してみる。
簡単すぎてアクビするなよ!

読み書き対象のデータファイル

今回の対象となるデータファイルを用意しておきます。
事前にCSV形式でデータを入れておきます。

ファイルの読み込み

基本に忠実にファイルデータを読み込んでline毎にprint処理を行います。

実行

なんか、改行が多いですね。
これは、pythonのprint関数がわざわざ毎回改行を加えて表示してくれる、いらんことしい的な機能のためである。
そこで、下記のようにすることで改行は無くなるようです。

printの後ろに”,”(カンマ)をつけるだけなんですね。
どうやら次のprintとくっつけてくれる効果があるのかな?
とりあえずこれはそんなに悩まず一先ず完了とする。

python v3では・・・

さらにちなみに、上記の書き方はPython v2の書き方なんですが、v3の場合は下記のように書くといいらしいです

lineの終了文字列を指定できるんですね。
他の言語にこの手の仕様はないな〜〜〜。

ファイル書き込み

logのrecord方式を再現するために、line追記型にします。
lineの改行コードは”\n”にするのが一般的かもね。

実行

書き込み用データファイルは「data2.txt」と現在ないモノを指定してみると、存在しなければ自動でファイルを作ってくれるようです。

検討

このプログラムでの問題点は

1, 改行を追加しなければいけない
2, プログラムを実行する度にファイルがリセットされてしまい、追記になっていない

まずは、改行は、”f.write(‘1,a,kyushu\n’)”とすることで問題ないだろう。
そして、2番目の追記問題だが、openコマンドの”w”オプションを追記モードの”a”にするだけで、追記モードでファイルを開く事になるらしい。

この修正版で行なった所、問題なく書き込み完了。
なんて簡単な言語なんだ・・・
だけど、phpのfile_get_contentのような、わざわざfileオープンしなくても読み書きできるともっと便利なのにな・・・
まあ、OSの仕組み上、オープン・クローズ処理は必須ということか・・・

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です