Pythonにおけるopen(),close()の組合せとwith open()の違い

3877 ワード

目次
  • 一、open()関数の基本的な使い方
  • 1. 読み込みファイル
  • 2. オープンモード
  • 3. 符号化方式
  • 二、open()、close()とwith open()の違い
  • 一、open()関数の基本的な使い方
    違いを説明する前にopen()関数の使い方を簡単に説明し、以下の3つの部分に分けます.
    1.ファイルの読み込み
    フォーマットの使用:
         = open('    ', '  ')
    

    プロセスは次のとおりです.
    f = open(file_path, 'r', encoding='utf-8')  #     ,        ,     
    data = f.read()                             #     
    print(data)                                 #       
    f.close()                                   #     
    
      
    with open(file_name, 'r') as f:
    	data = f.read()                         #     
    	print(data)                             #                                         
    

    なお、上記ファイルのfile_pathはファイルのパスであり、絶対パス(ファイルがハードディスクの位置にあるパス)であってもよいし、相対パス(スクリプトと同じディレクトリの下)であってもよい.上記の読取ファイルは、read()を使用してファイル全体を読み取る内容を表すか、readline()を使用してファイルの1行を読み取るか、readline()を使用してファイルの内容を行単位で読み取ることができます.最後にclose()関数を使用してファイルを閉じます.
    2.オープンモード
    モードのパラメータは2番目のパラメータで、主に以下のモードがあります.
    
    r            。      ,      ,       
    rb                  。
    r+            。             ,     。
    w              。             。        ,     。
    w+            。             。        ,     。
    a             。        ,             。    ,                。        ,         。
    a+            。        ,             。           。        ,         。
    
    

    注:後にb付きの方式があり、符号化方式を考慮する必要はありません.+番号付きのものは読み書きできますが、違いがあります.
    3.符号化方式
  • winシステムのデフォルトはgbk符号化であるため、デスクトップで生成されたTXTなどはgbk符号化である.
  • で文字化けしが発生し、通常は元のファイルの符号化方式と開く指定の符号化が一致しないためである.

  • 二、open()、close()とwith open()の違い
    これも私たちが普段ファイルを読むと無視しやすい場所です.
  • は、一般にopen()とclose()の組み合わせを使用してファイルを開いたり閉じたりします.ただし、プログラムにバグがある場合、close()文が実行されないため、ファイルは閉じません.これは些細なことに見えますが、ファイルを適切に閉じていないと、データが失われたり、破損したりする可能性があります.プログラムでclose()を早すぎると、ファイルを使用する必要があるときに閉じている(アクセスできない)ことがわかり、より多くのエラーが発生します.
  • キーワードwithは、ファイルにアクセスする必要がなくなり、自動的に閉じます.このプログラムではopen()を呼び出したがclose()を呼び出していないことに気づいた.どんな場合でも簡単にファイルを閉じるタイミングを決めることはできませんが、キーワードwithを使用することで、Pythonにファイルを開くだけで、必要に応じて使用することができ、Pythonは適切なときに自動的に閉じることができます.