スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
.-- -- スポンサー広告 comment(-) trackback(-)

Pythonメモ書き:ファイルオブジェクトの使用例

ではでは、早速インタラクティブシェルを用いて練習♪練習♪

>>>myfile = open('myfile', 'w')    #新規作成•出力モードでのオープン
>>>myfile.>write('study python!\n')  #1行のテキストを書き込む
>>>myfile.close()           #出力バッファをディスクにフラッシュ
>>>
>>>myfile = open('myfile', 'r')    #入力モードでのオープン
>>>myfile.readline()         #書き込んだテキストの行の読み込み
'study python!\n'
>>>myfile.readline()         #空の文字列がもどされる
''                  #ファイルの末尾に到達していたことを意味する


ファイルへのオブジェクトの保存、または元のオブジェクトの変換

では、もう少し大きなファイルを作ってみちゃいましょう!!

>>>X, Y, Z = 43, 44, 45     #Pythonのオブジェクト
>>>S = 'python'         #ファイルに保存するのは文字列
>>>D = {'a':1, 'b':2}
>>>L = [1, 2, 3]
>>>
>>>F = open('datafile.txt', 'w')  #出力ファイルの新規作成
>>>F.write(S + '\n')        #\nで行を終わらせる
>>>F.write('%s, %s, %s\n', % (X, Y, Z))  #数値を文字列に変換
>>>F.write(str(L) + '$' + str(D) + '\n') #変換し$で区切る
>>>F.close
>>>bytes = open('datafile.txt').read()   #保存されたままの形式で表示
>>>bytes
"python\n43, 44, 45\n[1, 2, 3]${'a':1, 'b':2}\n"
>>>print bytes               #見やすい形式で表示
python
43, 44, 45
[1, 2, 3]${'a':1, 'b':2}
>>>
>>>F = open('datafile.txt')      #ファイルを開く
>>>line = F.readline()        #1行読み込む
>>>line
'python\n'
>>>line.rstrip()           #改行文字を削除
'python'
>>>line = F.readline()        #ファイルの次の行
>>>line               #これも文字列
'43, 44, 45\n'
>>>parts = line.split(',')      #カンマで区切る
>>>parts
['43', '44', '45\n']         #リストが得られる
>>>int(parts[1])           #文字列から数値への変換
44
>>>numbers = [int(P) for P in parts] #リストの文字列を一度に変換
>>>numbers
[43, 44, 45]
>>>
>>>line = F.readline()
>>>line
"[1, 2, 3]${'a':1, 'b':2}\n"
>>>parts = line.split('$')      #$で分割
>>>parts
['[1, 2, 3]', "{'a':1, 'b':2}\n"]
>>>eval(parts[0])           #元のオブジェクトに変換
[1, 2, 3]
>>>objects = [eval(P) for P in parts] #全てを変換
>>>objects
[[1, 2, 3], {'a':1, 'b':2}]


こうした処理によって、ファイルの中の文字列を元のリストやディクショナリに戻し操作を行えるようにしている。
スポンサーサイト
.31 2010 Python:ファイル comment0 trackback0

comment

post comment

  • comment
  • secret
  • 管理者にだけ表示を許可する

trackback

trackbackURL:http://emiandkosuke.blog29.fc2.com/tb.php/24-31aa912c

プロフィール

emi

Author:emi
日々、コンピューターとにらめっこしていた2010。
公の仕事に就くことを目指して教科書とにらめっこ2011,spring。
はたして2012は・・・

最新トラックバック

検索フォーム

ブロとも申請フォーム

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。