Pythonでファイルを開いたり閉じたりする
これまで、標準の入出力に対して読み取りと書き込みを行ってきました。次に、実際のデータファイルの使用方法を説明します。
Pythonは、デフォルトでファイルを操作するために必要な基本的な関数とメソッドを提供します。 ファイルのほとんどを実行できます ファイルオブジェクトを使用した操作。
開いている関数
ファイルを読み書きする前に、Pythonの組み込みのopen()関数を使用してファイルを開く必要があります。この関数はファイルを作成します オブジェクト。これは、それに関連付けられた他のサポートメソッドを呼び出すために使用されます。
構文
file object = open(file_name [, access_mode][, buffering])
パラメータの詳細は次のとおりです-
- file_name − file_name引数は、アクセスするファイルの名前を含む文字列値です。
- access_mode − access_modeは、ファイルを開く必要のあるモード(読み取り、書き込み、追加など)を決定します。可能な値の完全なリストを以下の表に示します。これはオプションのパラメータであり、デフォルトのファイルアクセスモードが読み取られます(r)。
- バッファリング −バッファリング値が0に設定されている場合、バッファリングは行われません。バッファリング値が1の場合、ファイルへのアクセス中に行バッファリングが実行されます。バッファリング値を1より大きい整数として指定すると、指定されたバッファサイズでバッファリングアクションが実行されます。負の場合、バッファサイズはシステムのデフォルト(デフォルトの動作)です。
これがファイルを開くさまざまなモードのリストです-
Sr.No | モードと説明 |
---|---|
1 | r 読み取り専用のファイルを開きます。ファイルポインタはファイルの先頭に配置されます。これがデフォルトのモードです。 |
2 | rb バイナリ形式でのみ読み取るためにファイルを開きます。ファイルポインタはファイルの先頭に配置されます。これがデフォルトのモードです。 |
3 | r + 読み取りと書き込みの両方のためにファイルを開きます。ファイルの先頭に配置されたファイルポインタ。 |
4 | rb + バイナリ形式での読み取りと書き込みの両方のためにファイルを開きます。ファイルの先頭に配置されたファイルポインタ。 |
5 | w 書き込み専用のファイルを開きます。ファイルが存在する場合、ファイルを上書きします。ファイルが存在しない場合は、書き込み用の新しいファイルを作成します。 |
6 | wb バイナリ形式でのみ書き込むためのファイルを開きます。ファイルが存在する場合、ファイルを上書きします。ファイルが存在しない場合は、書き込み用の新しいファイルを作成します。 |
7 | w + 書き込みと読み取りの両方のためにファイルを開きます。ファイルが存在する場合は、既存のファイルを上書きします。ファイルが存在しない場合は、読み取りおよび書き込み用の新しいファイルを作成します。 |
8 | wb + バイナリ形式での書き込みと読み取りの両方のためにファイルを開きます。ファイルが存在する場合は、既存のファイルを上書きします。ファイルが存在しない場合は、読み取りおよび書き込み用の新しいファイルを作成します。 |
9 | a 追加するファイルを開きます。ファイルが存在する場合、ファイルポインタはファイルの最後にあります。つまり、ファイルは追加モードになっています。ファイルが存在しない場合は、書き込み用の新しいファイルが作成されます。 |
10 | ab バイナリ形式で追加するファイルを開きます。ファイルが存在する場合、ファイルポインタはファイルの最後にあります。つまり、ファイルは追加モードになっています。ファイルが存在しない場合は、書き込み用の新しいファイルが作成されます。 |
11 | a + 追加と読み取りの両方のためにファイルを開きます。ファイルが存在する場合、ファイルポインタはファイルの最後にあります。ファイルは追加モードで開きます。ファイルが存在しない場合は、読み取りと書き込み用の新しいファイルが作成されます。 |
12 | ab + バイナリ形式での追加と読み取りの両方のためにファイルを開きます。ファイルが存在する場合、ファイルポインタはファイルの最後にあります。ファイルは追加モードで開きます。ファイルが存在しない場合は、読み取りと書き込み用の新しいファイルが作成されます。 |
ファイルオブジェクト属性
ファイルを開いて1つのファイルオブジェクトを作成すると、そのファイルに関連するさまざまな情報を取得できます。
これがファイルオブジェクトに関連するすべての属性のリストです-
Sr.No | モードと説明 |
---|---|
1 | file.closed ファイルが閉じている場合はtrueを返し、それ以外の場合はfalseを返します。 |
2 | file.mode ファイルを開いたときのアクセスモードを返します。 |
3 | file.name ファイルの名前を返します。 |
4 | file.softspace printでスペースが明示的に必要な場合はfalseを返し、それ以外の場合はtrueを返します。 |
例
#!/usr/bin/python # Open a file fo = open("foo.txt", "wb") print "Name of the file: ", fo.name print "Closed or not : ", fo.closed print "Opening mode : ", fo.mode print "Softspace flag : ", fo.softspace
出力
これにより、次の結果が生成されます-
Name of the file: foo.txt Closed or not : False Opening mode : wb Softspace flag : 0
close()メソッド
ファイルオブジェクトのclose()メソッドは、書き込まれていない情報をフラッシュしてファイルオブジェクトを閉じます。その後、書き込みを行うことはできなくなります。
Pythonは、ファイルの参照オブジェクトが別のファイルに再割り当てされると、ファイルを自動的に閉じます。 close()メソッドを使用してファイルを閉じることをお勧めします。
構文
fileObject.close()
例
#!/usr/bin/python # Open a file fo = open("foo.txt", "wb") print "Name of the file: ", fo.name # Close opend file fo.close()
出力
これにより、次の結果が生成されます-
Name of the file: foo.txt
-
C#でのテキストファイルの読み取りと書き込み
StreamReaderクラスとStreamWriterクラスは、テキストファイルの読み取りと書き込みに使用されます。 テキストファイルを読む- Using System; using System.IO; namespace FileApplication { class Program { static void Main(string[] args) { try {
-
Pythonのopenpyxlモジュールを使用したExcelファイルの読み取りと書き込み
はじめに openpyxl は、Excel 2010xlsx / xlsm / xltx/xltmファイルを読み取り/書き込みするためのPythonライブラリです。 PythonからネイティブにOfficeOpenXML形式を読み書きするための既存のライブラリがないことから生まれました。 操作に使用するExcelファイルはワークブックと呼ばれ、最小で1枚、最大で数十枚のシートが含まれています。 1枚のシートは、1から始まる行とAから始まる列で構成されます。 openpxylライブラリを使用すると、シートやデータの追加、操作、さらにはデータの削除など、さまざまな機能を実行できます。