このChapterは、テキストと離れて、ポイントをよりわかり易く説明します。
xf = open('test.txt','r') # ファイルを読み取りモードで開くfor line in f: # ファイルからデータを1件づつ読み込むprint (line)f.close() # ファイルを閉じる
下記のようにwithを利用すればclose() はしなくていい。
xxxxxxxxxx### withを利用すればclose() は,いらない。with open('test.txt','r') as f:for line in f:print(line)
すべての内容を読み込んで一度に表示する方法
xxxxxxxxxxdata = open("test.txt", "r") # ファイル open 開くa = data.read() # すべての内容を読み込むprint (a) # すべての内容を表示するdata.close() # ファイルclose 閉じる
形式: open(ファイル名, モード)
第二引数の「モード」オプション説明
モード 説明 省略 読み込み用 'r' 読み込み用 'w' 書き込み用 'a' 追加書き込み
上書き(ファイルの先頭から書き込まれる) ファイルが存在しない場合は新規作成される。
xxxxxxxxxxf = open('test1.txt','w') # ファ入ルの先頭から書き込まれるf.write('aaaaa\n')f.close()
ファイルにデータ追記
ファイルが存在しない場合は新規作成される。 ファイルに追記モードで書き込まれる
xxxxxxxxxxf = open('test1.txt','a')f.write('bbbbb\n')f.close()
下記で上記2件のデータの書き込みができたを確かめてみる。
xxxxxxxxxxf = open('test1.txt','r')for line in f:print (line)f.close()
追記モード ファイルが存在しない場合は新規作成される。 ファイルに追記モードで書き込まれる
xxxxxxxxxxf = open('test2.txt','a')f.write('ccccc\n')f.close()
下記で上記1件のデータの書き込みができたを確かめてみます。
xxxxxxxxxxf = open('test2.txt','r')for line in f:print (line)f.close()
exists('ファイル名') は、フォルダ、ファイル関係なく存在確認ができる。
xxxxxxxxxximport os.pathif os.path.exists('test.log'):print ("存在します")else:print ("存在しません")
xxxxxxxxxximport osos.remove('test33.txt') # ファイルの削除
input命令を使って、1行・テキストデータを入力し、 ファイル名 test1.txt に追加書き込み出力する。 ただし、999 を入力したら終了。
xxxxxxxxxxf = open('test1.txt', 'w') # 書き込みモードで開くb = ''while b != '999':b = str(input('1行データ入力'))if b!= '999':f.write(b) # 引数の文字列をファイルに書き込むf.write("\n")f.close() # ファイルを閉じる
下記で上記データの書き込みができたを確かめてみる。
xxxxxxxxxxf = open('test1.txt','r')for line in f:print (line)f.close()