Python プログラミングの基礎: ファイル操作

1. ファイルパス

ファイルを保存する場所をパスといいますが、パスを定義する際には大きく分けて絶対パスと相対パスの2種類があります。

1. 絶対パス

絶対パスとは、ファイルが存在するドライブ名からファイルの保存場所を記述することを指し、C ドライブ、D ドライブ、F ドライブなどと呼ばれることがよくあります。一般的な絶対パス表現は次のとおりです。

C:\documents\python\1.py

'\' はディレクトリとファイルの間の区切り文字です。Python でファイルのパスを記述する場合は文字列を使用する必要がありますが、文字列の '' はエスケープ シーケンス文字であるため、使用する場合は次のようにする必要があります。次のように 2 つの '' を使用して記述します。

C:\\documents\\python\\1.py

単一の '' を使用する場合は、次のようにパスの前に r を追加して、後続の文字列内の '' のエスケープ機能をキャンセルできます。

r "C:\documents\python\1.py"

2. 相対パス

相対パスは、現在の作業ディレクトリから始まるファイルを記述する位置情報を指します。各プログラムには、実行時に現在の作業ディレクトリがあります。一般に、現在のディレクトリのデフォルトは、アプリケーションのインストール ディレクトリです。表示および変更できます。現在の作業ディレクトリ。Python に付属の OS ライブラリを使用して設定します。
現在のディレクトリを表示します。

import os
os.getcwd()

現在の作業ディレクトリを「D:\python」に変更します。

os.chdir('D:\\python')

このとき、カレントディレクトリに python というフォルダがあり、その中に 1.py ファイルがある場合、ファイルの相対パスは次のようになります。

\\python\\1.py

注: Windows システムではディレクトリとファイルの間の区切り文字として '' が使用され、他のオペレーティング システムでは区切り文字として '/' が使用されます。

2. ファイル操作

ファイルには、ファイルを開く、ファイルの読み取りと書き込み、ファイルを閉じるという 3 つの主な操作があります。

1. ファイルを開く

通常、ファイルは外部メモリに保存されており、運用時にはまずメモリに転送してCPUで処理する必要があり、この転送処理がファイルオープン処理となります。Python で open コマンドを使用して、ファイルを開いてファイル オブジェクトを生成します。ファイル オブジェクトに対する操作は、ファイルに対する操作です。構文形式は次のとおりです。

文件对象 = open(文件路径字符串, 模式字符)

ファイル パスには絶対パスまたは相対パスを使用できます。モード文字は主に、開くファイルの種類とファイルの操作方法を指定するために使用されます。共通モード文字は次のとおりです。

パターンキャラクター ファイルの種類 操作方法 ファイルが存在しない場合 カバーするかどうか
「r」 テキストファイル 読み取り専用ファイル エラーを報告する いいえ
「r+」 テキストファイル 読み取り可能および書き込み可能 エラーを報告する はい
「わ」 テキストファイル 書き込み可能なファイルのみ 新しいファイルを作成する はい
「w+」 テキストファイル 読み取り可能および書き込み可能 新しいファイルを作成する はい
「あ」 テキストファイル 書き込み可能なファイルのみ 新しいファイルを作成する いいえ、EOFに追加書き込みします
「a+」 テキストファイル 読み取り可能および書き込み可能 新しいファイルを作成する いいえ、EOFに追加書き込みします
「rb」 バイナリーファイル 読み取り専用ファイル エラーを報告する いいえ
「rb+」 バイナリーファイル 読み取り可能および書き込み可能 エラーを報告する はい
「わー」 バイナリーファイル 書き込み可能なファイルのみ 新しいファイルを作成する はい
「wb+」 バイナリーファイル 読み取り可能および書き込み可能 新しいファイルを作成する はい
「アブ」 バイナリーファイル 書き込み可能なファイルのみ 新しいファイルを作成する いいえ、EOFに追加書き込みします
「アブ+」 バイナリーファイル 読み取り可能および書き込み可能 新しいファイルを作成する いいえ、EOFに追加書き込みします

上の表で、テキスト ファイルとは主に、基本的なテキスト文字のみが含まれ、フォント、サイズ、色などの形式情報が含まれていないファイルを指します。最も一般的なファイル ファイルは .txt や .py などです。テキスト ファイル、.doc、.xls などのその他のファイルはすべてバイナリ ファイルです。テキスト ファイルの操作は比較的単純ですが、バイナリ ファイルの操作はより複雑で、さまざまなライブラリの助けが必要です。以下の紹介では、次のことに焦点を当てます。テキストファイルの操作について。

2. ファイルを閉じる

open を使用してファイルを開いた後、ファイルはメモリに転送されます。この時点では、他のアプリケーションはファイルを操作できません。読み取りおよび書き込み操作が完了したら、ファイルは外部ストレージに保存する必要があります。更新されたコンテンツは外部ストレージに同期されます。また、他のアプリケーションがファイルを操作できるように、そのファイルが占有しているメモリ領域も解放する必要があります。このプロセスはファイルを閉じると呼ばれます。
Python でファイルを閉じるには、ファイル オブジェクトの close() メソッドを使用する必要があります。構文形式は次のとおりです。

文件对象.close()

上記のコンテンツでは、ファイル オブジェクトはファイルに関連付けられたコンテンツです。ファイルに対する操作はすべて、ファイル オブジェクトを呼び出して実装する必要があります。close() を使用して閉じた場合、ファイル オブジェクトに対する操作は許可されません。

3. ファイルの書き込み

現在のパスの下に 1.txt ファイルがあり、このファイルに内容を書き込むには、write() メソッドと writelines() メソッドという 2 つの主な書き込みメソッドがあります。

write() メソッド

write() メソッドは、指定された文字列をファイルの現在の挿入ポイント位置に書き込みます。複数回書き込む場合、新しく書き込まれた文字列と元の文字列の間に区切り文字はありません。同時に、各書き込みは書き込み結果を返します。文字数とその構文形式は次のとおりです。

文件对象.write(字符串内容)

ここに画像の説明を挿入します
ここに画像の説明を挿入します
writelines() メソッド
writelines() メソッドは、シーケンス内のパラメータとして複数の文字列を受け入れ、一度に複数の文字列を書き込むことができます。その構文形式は次のとおりです。

文件对象.writelines(字符串序列)

ここに画像の説明を挿入します

4. ファイルの読み込み

コンテンツの書き込みと同様に、Python ではファイルの読み取りを完了するための 3 つのメソッド、つまり read()、readline()、および readlines() メソッドが定義されています。

read() メソッド
read() メソッドは、ファイルのすべての内容を読み取り、それを文字列として返します。その構文は次のとおりです。

字符串变量 = 文件对象.read()

ここに画像の説明を挿入します
readline() メソッド
readline() メソッドは、ファイル内の現在の行を読み取り、それを文字列として返します。連続して複数回読み取る場合は、各行の内容を順番に読み取ることができます。構文形式は次のとおりです。

字符串变量 = 文件对象.readline()

ここに画像の説明を挿入します
readlines() メソッド
readlines() メソッドは、ファイルのすべての内容を読み取り、それをリストとして返します。内容の各行はリストの要素です。構文形式は次のとおりです。

字符串变量 = 文件对象.readlines()

ここに画像の説明を挿入します

3. CSVファイルの操作

CSV ファイルは、カンマ区切り文字またはその他の単純な文字で区切られたプレーン テキストでテーブル データを保存するファイルとして理解できます。このファイル タイプは通常、メモ帳や Excel などのプログラムで開くことができます。core.csv ファイルはそれぞれメモ帳と Excel を使用して開かれます。内容は次のとおりです:
ここに画像の説明を挿入します
ここに画像の説明を挿入します
CSV ファイルの場合、Python は読み取りおよび書き込み操作用に同じ名前の組み込みモジュールを特に提供します。これを使用する場合、リーダー オブジェクトとライターオブジェクトを定義する必要があります。

1.CSVファイルを開く

CSVファイルはテキストファイルと同様にopenコマンドで直接開くこともできますが、毎回close()メソッドを使うのは面倒なのでwith文を導入してファイルを開きます。その構文 形式は次のとおりです。

with open(文件路径, 模式字符) as 文件对象名:
    文件操作语句

ここに画像の説明を挿入します

2.CSVファイルの読み込み

CSV ファイルを読み取るには、csv モジュールを使用して最初にリーダー オブジェクトを作成し、次にリーダー オブジェクトを反復処理して csv ファイルの各行を取得する必要があります。score.csv を例に挙げます。 csvファイルの各行の内容が
ここに画像の説明を挿入します
リスト形式で出力されますが、漢字が含まれるためエンコードモードは「encoding='utf-8'」に設定されています。

3. CSVファイルの書き込み

ファイルの読み取りと同様に、コンテンツの書き込みには Writer() オブジェクトを作成する必要があります。書き込みメソッドには、writerow() メソッドと writerows() メソッドの 2 つがあります。

writerow() メソッド
writerow() メソッドは、['10153450111','67','89','76'] や ['10153450112' など、リストに格納されているデータ行をファイルに書き込むために使用されます。 '88',' 67','92'] がスコア.csv に書き込まれます。
ここに画像の説明を挿入します
ここに画像の説明を挿入します
書き込まれたレコードの間に空行が表示されることがわかります。ファイルを開くときに、パラメーター newline= '' を追加して、コンテンツの書き込み時に空行が挿入されないことを示します。
ここに画像の説明を挿入します
ここに画像の説明を挿入します
writerows() メソッド writerow
() メソッドは、シーケンスの各要素をコンテンツの行として CSV ファイルに一度に書き込むことができます。たとえば、[['10153450111','67','89','76']、 ['10153450112' ,'88','67','92']] がスコア.csv に書き込まれます。
ここに画像の説明を挿入します
同様に、ファイルを開くときにパラメータ newline='' を追加すると、コンテンツを書き込むときに空白行が挿入されないことを示すことができます。

おすすめ

転載: blog.csdn.net/weixin_42051846/article/details/131866942