ホーム     戻る

     峨眉山月半輪秋
   
         影入平羌江水流
   
        夜発清溪向三峡
   
        思君不見下渝州

                     李白"

20131121改訂中


 

 第12章 ファイルの読み書き

 (1)ファイルを使ってテキストファイルを操作る。
  
 テキストファイルとはエディターで編集できるシンプルなファイルのこと

  (2)ファイルの読み書きとは 

 >>> f = open('temp.text','w')   <ファイルオブジェクトを用意する
 >>> f.write('abc')          <ファイルに文字列を書き込む
 3
 >>> f =open('temp.text','r')    <ファイルを読むために開く
 >>> f.read()              <ファイルを終りまで読み込む

    'abc'
 >>> f.close()            <ファイルとpytonの接続を切る

 テキストファイルに1行書いて読み込む
 open関数(ファイル名、w)
 w書き込みのためのファイルを示す

ファイルの読み書き、そして覚えておきたいあること

 1.何かをする、と言うこと

  今まで対話式でpythonIDLE又はpython(comandline)にコードを入力して短い プログラムを実行。仕事を終わるとコードは消えてしまい、再利用はできない。

 そこで、メモ帳かxyzz.exeあるいはIDLE付属のediterを起動して、コードを書い て、pythonファイルに保存し、呼び出して使用すれば、再利用が可能になる。

 (a)
IDLE(python)を使う

 統合環境に付属するエディターでコードを書く..

 ファイルに保存する。たとえば名前はQuotesbyJamesAlen.pyとする

 IDLE(
python)を開く。

 newwindowをクリックする。

 file open
をクリックする。

 pytmp
ファイルからQuotesbyJamesAlen.pynikomiudon.pyを開く。

 run
をクリツクする。

r un mojule f5
をクリックする。

 (例1)                   
 ファイル名:思考と人間存在.pyとする

 print ('自己抑制は強力である。正しい思考を支配できる。静謐は力である')
 print (人間は自分が考えている通りに存在する。維持する考えの通りに存在する。')
 print ('今日は、君の考えが招来した所にいる。明日は君が考えた所にいるだろう。)
 print( '環境が人を作るのではない。環境の中にその人自身が現れているのだ。   ')
 print ('夢、崇高な夢、夢見たように君は成長する。')
 print ('心に抱いたように人は成長するのだ・')
 print ('望みを抱けば、ば叶えられる・')
 print ('人は向上し、目的を達成する。彼の考えを掲げ続けることによって。')
 print ('人は愛する心を保持することによって愛される・')
 print( '人は彼が選択した考えによってのみ限定される。')
 print ('計画するものは獲得される。切望するものは遂げられる・')

 save as 思考と人間存在.pyとして保存する。

 IDLELからFile openクリック

 m思考と人間存在.pyとインプットしてokをクリック

 run mojule5 クリック

 思考と人間存在.pyをクリック

 アウトプットは下記のようになる。

'自己抑制は強力である。正しい思考を支配できる。静謐は力である'

人間は自分が考えている通りに存在する。維持する考えの通りに存在する。'

'今日は、君の考えが招来した所にいる。明日は君が考えた所にいるだろう。 '環境が人を作るのではない。環境の中にその人自身が現れているのだ。) 

'夢、崇高な夢、夢見たように君は成長する。'
 '心に抱いたように人は成長するのだ・'
 '望みを抱けば、ば叶えられる・'

'人は向上し、目的を達成する。彼の考えを掲げ続けることによって。'

'人は愛する心を保持することによって愛される・')
  '人は彼が選択した考えによってのみ限定される。'

'計画するものは獲得される。切望するものは遂げられる・'

2.ファイルの読み書きの別の方法

''

  第二引数(モード引数[文字列」)

 r 読み込み専門

 w 書き出し専門

 a 追加:自動的にファイルの末尾に加える

 ファイルオブジェクト

 f.read()   ファイルの中身を読む  データを指定量だけ読み込んで文字列 
       をかえす。

 ()サイズを指定しないとファイルの内容をすべて読み込んで返す。

 ファイルの末尾に達すると、f.read()は空の文字列を返す。

 python3.0エディターを使用

 例

 >>> s =open('somefile.2','w')
 >>> s.write('今晩は, ')
  
 >>> s.write('皆さん,')

 >>> s.write('ようこそ')

 >>> s.close()
 >>> s = open('somefile.2','r')
 >>> s.read()
 '今晩は, 皆さん,ようこそ'

 (例) 

 >> g = open('data2.py', 'w')    # g変数に書き込みファイルを開く

 >>> g

 <open file 'data2.py', mode 'w' at 0x00AFBB60>

 >>> g.write('心に太陽を')       # 書き込む

 >>> g.close()              #
 ファイルを閉じておく

 >>> h = open('data2.py', 'r')     # 
呼び出して書き出す

 >>> y = h.read()

>>> h.close()                        ファイルを閉じておく

>>> print y

 心に太陽を
     

 4.バックアップをとる。

 ファイルサーバーに。別のコンピュータに。テープ等に。

 5.セーブとロード

 ファイル:osがコンピュータ上でのデータ管理に使用する単位
     :ファイルには名前が付けられる。pythonの場合拡張子とし
     て
.pyをつける。boki.py , 生命保険控除.py等



 ファイルオブジェクト:
ファイルへのアクセスに使用されるオブジェクト
            :マシン上に存在するファイルへのリンク機能 
            :対応するファイルへのデータの書き込み、ファイ
             ルからのデータの書き込み
            :openビルトイン関数を使用
            :基本的なファイル操作のためのメソッドを提供
             するオブジェクト


 open関数の引数:
1.開くファイル名2.処理モード

 処理モード:1.’ ’出力モード 
        2.’ ’データ追加モード 
        3.デフォルトは’
r’
        ’w’書き
込みモード

 ファイル名指定
:絶対パス名、相対パス名両方指定できる。

 ファイルのテキスト:
pythonプログラムの中では、すべて文字列

 引数はすべて文字列にする。

 書き込みの基本的操作:

 output = open('/tmp/spam', 'w') #
 出力ファイル作製  open関数

 input = open('data', 'r')     # 
入力ファイル作成

 s = input.read()         # 
 ファイル全体を読み込みs文字列にする
                   # readメソッド:input.のあとに付く。
        
 s = input.readlines()     # 
行末記号まで行を読み込む

 s = input.readlines()    #
ファイル全体を読み込み、各行の内容が
                 # それぞれリストを構成する。
 output.write(S)
                #  文字列sをファイルに書き込む

 output.writelines
(L)         #  リストLの文字列をすべてに書き込む

 output.close
()                  #  ファイルのクローズ

 例1

 myfile =open ('myfile', 'w')
 myfile.write('hello text file /n')
 myfile.close()

 

 >>> myfile = open('myfile', 'r')
 >>> myfile.readline()
 'hello text file /n'

(例2)

 menu.txtというファイルが保存してあるとする

 spam & eggs
 spam & chips
 spam & spam

 このファイルを読み取って画面に表示するプログラム

 imp = open("menue.txt", "r")      読み取るファイルを開く

                      引数r:読み取り専用
                      引数w:書き専用
                      引数デフォルトASCIIテキストで開く

 for line in imp.readlines():   ファイルを読み込み、表示する
     print line           

 imp.close()            ファイルを閉じる

 例3

 old_inventory = ('old_inventory','w')

 old_inventory = 5

 new_inventory = 10

 print
'The following files have been added :'

 print
new_inventory  -  old_inventory

 print
''

 print
'The following files have been deleted :'

 print
old_inventory  -  new_inventory

 old_inventory = ('old_inventory', 'w')

 new_inventory = ('new_inventory', 'w')

 >>>
 The following files have been added :
 5

 The following files have been deleted :
 -5


 5 コーディングテクニック

 (a) dir関数:で調べた関数のうち、_、__などで始まる特殊関数 
   は通 常使用しない。それらを除くと
   
                 
 append,count,extend,index,insert,pop,remove,reverse,sort,

 help():オンラインヘルプシステムで情報が得られます。

   6 基本サンプル

 (a)

 保存ファイルdata1.py                ファイル名

 'a','b','c'                       ファイルのデータ
 'd','e','f'
 'g','h','i'

 >>> f = open('data1.py')       # 変数 f にファイルを開く

 >>> f

 <io.TextIOWrapper object at 0x0143B070>

 >>> x = f.read()              #変数 x にファイルを読みこむ

 >>> x
 "'a','b','c'\n'd','e','f'\n'g','h','i'\n"

 >>> f.close()                # 変数 f ファイルを閉じる

 >>> f

 <io.TextIOWrapper object at 0x0143B070>

 >>> g = open('data2.py','w') # 変数 g にdata2として書き込みファイルを開く

 >>> g

 <io.TextIOWrapper object at 0x0145FA90>

 >>> g.write('夏ほととぎす')   #変数gのファイルに書き込む


 >>> g.close()           # 変数gの ファイルを閉じる

 >>> h = open('data2.py','r')  # 変数 h にdata2ファイルを読むために開く

 >>> y = h.read()         # 変数 y にファイルを読みこむ 

 >>> h.close()           # 変数 h のファイルを閉じる

 >>> print(y)           # 変数yに読み込んだファイルを画面に表示する

 夏ほととぎす

 

 

 

ホーム     戻る