Python でファイルを開くにはどうすればよいですか?
Python でファイルを開くのは非常に簡単です。パッケージをインポートする必要はありません。
f = open('your_file.txt','r')
と直接入力して、操作するファイルを開くことができます。 2 番目のパラメータはファイルの動作モードです。「w」はファイルの書き込みです。同じ名前の既存のファイルはクリアされます。存在しない場合は作成されます。「r」はファイルの読み取りです。存在しない場合はエラーが報告されます; 'a' ファイルの最後に内容を追加します。存在しない場合はファイルが作成されます。存在する場合は直接追加されます。 「wb」はバイナリ ファイルの書き込み、「rb」は画像などのバイナリ ファイルの読み取りを意味します。
しかし、この方法は実際にはファイルを開く最良の方法ではありません。この方法には次の問題が発生する可能性があります:
1. ファイルのエンコード形式が指定されていません。ファイルのエンコード形式が指定されていない場合は、現在のデフォルトのエンコード形式に一貫性がない場合、ファイルの内容の読み取りおよび書き込みでエラーが発生します。
2. ファイルの読み取りおよび書き込みでエラーが発生した場合、ファイルは正しく閉じられません。たとえ最後に
f.close()
ステートメントがあったとしても、開くときにエラーが発生する場合、このオープン方法には問題が発生するためです。したがって、一般的に、この方法でファイルを開くことはお勧めできません。 (実はこの方法は以前から使っていたんです。他の方法も知っていますが、面倒なので使ったことはありません…)
上記の質問はすべてpython2に関するものです。関数を渡すことができます。encodingパラメータはエンコード方法を指定します。2では不可能です。
これを実行すると、python3 直下のファイルを開くことができます:
f = open('your_file.txt', 'r', encoding='utf-8')
次の 2 つのメソッドは python2 と python3 の両方で使用できるため、コードを python2 と python3 で動作させたい場合は、 3 つすべてに互換性がある場合は、次の 2 つの方法を試すことができます:
import codecs f1 = codecs.open('your_file1.txt', 'r', 'utf-8') #使用codecs包 f1.close() import io f2 = io.open('your_file2.txt', 'r', encoding='utf-8') #使用io包 f2.close()
ファイルを開く上記の方法に欠陥があることを注意深く学生が発見したかどうかはわかりません。次の方法は、問題を解決するために使用されます。 2 番目の質問も、ファイルを開く最も推奨される方法です。
import codecs #或者io,使用哪种包无所谓 with codecs.open('your_file.txt', 'r', 'utf-8') as f: f.write('This method is prior')
with context メソッドを使用してファイルを開きます。ファイル操作が完了した後、close() によってファイルを閉じる必要はありません。ファイルは自動的に閉じられ、安全率が高くなります。 。
関連する推奨事項: 「Python チュートリアル 」
以上がPythonでファイルを開く方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。