I.はじめに
FileInputクラスモジュールは、我々は、ファイルオープン関数を使用し、1つまたは複数のコンテンツファイルのトラバーサル操作を繰り返すことができ、読み取りおよび書き込み操作です。
FileInputクラス入力モジュール()関数より効率的に反映オープン機能、より使いやすく。
- 大きなファイルを読み込むの顔にあまりにも多くのメモリを占有していないことを確実にするイテレータを生成するための入力()関数。
- などFileInputクラスループスルーを持つファイル、フォーマットされた出力、見つける、交換してください、あなたはそれぞれの行の数を取得し、というようにすることができ、非常に便利。
二、FileInputクラスの入力機能使用されるファイル形式を読み込みます
fileinput.input (files='filename', inplace=False, backup='', bufsize=0, mode='r', openhook=None)
ファイル: #のファイルのリストへのパス、デフォルトモードは標準入力され、マルチファイル[「1.TXT」、「2.txt」、...] インプレース: #デフォルトは置き換えられない、標準出力ファイルに結果を書き戻すかどうか のバックアップを: #バックアップファイルの拡張子は、そのような.BAKとしてのみ拡張子を指定します。ファイルバックアップファイルがすでに存在する場合、それは自動的に上書きされます。 BUFSIZE:# のファイルが大きい場合、バッファのサイズは、デフォルトでは、デフォルトができ、一般的に、このパラメータを変更することができ、0 :MODE #読み書きモード、読み取り専用デフォルト :openhookを #のようなフックの開口部を制御するためのすべてのファイルは、彼は、符号化モードと、
三、一般的に使用される機能のFileInputクラス
機能 | 説明 |
入力([ファイル[、インプレース[バックアップ]]]) | 行のヘルプ反復複数の入力ストリーム |
ファイル名() | 現在のファイルの名前を返します。 |
LINENO() | リターン(累積)現在の行番号 |
filelineno() | 現在のファイルでの行番号を返します。 |
isfirstline() | 現在の行は、ファイルの最初の行であるかどうかを確認してください |
isstdin() | 最後の行がsys.stdinをからですチェック |
nextfile() | 現在のファイルを閉じ、次のファイルに移動します |
閉じる() | クローズシーケンス |
fileinput.inputは、あなたがこの機能への1つ以上のファイル名を提供することができ、複数のファイルを処理したい場合は、イテレータオブジェクトを返す最も重要な機能です。
インプレースのパラメータも真(インプレース= TRUE)に設定することができ、あなたの訪問の行ごとに、スレーブに、現在の入力ファイルに任意のパラメータのバックアップのために、この時間をバックに書き込まれる代替コンテンツを印刷するために必要とされていますバックアップファイルの拡張子は指定された元のファイルを作成しました。
第四に、例えば、
1、複数のファイルを読み込みます
#ファイルA.TXTの内容 「」「 私は いい 人 。」「」 #コンテンツB.TXTファイルは、 「」「 彼は ある 悪い 男 。」「」 #読むファイル のためのラインで fileinput.input(" A.TXT " ): 印刷(ライン) #は、複数のファイルを読む ためにラインで fileinput.input([ " A.TXT " " B.TXT " ]): 印刷(ライン)
2、元のファイルとバックアップファイルを変更
#- * _コーディング:UTF-8 - * - インポートFileInputクラス のためのラインで fileinput.input(" A.TXT "、バックアップ= " .BAK "、インプレース= 真): ライン = line.replace(" I "、" 暁明「) 印刷(ライン) #1 の結果 、現在のフォルダには、コンテンツの前にa.txt.bakファイルの内容を生成します、 しかしA.TXTファイルは、変更されている」私は「となり、」暁明」
図3に示すように、出力電流の行番号と行の内容
#- * _コーディング:UTF-8 - * - インポートFileInputクラス のためのラインで fileinput.input(" A.TXT " ): LINENO = fileinput.filelineno() プリントLINENO、ライン #結果 1 I 2がある 3 いい、 4人
4、出力ファイル名
#- * _コーディング:UTF-8 - * - インポートFileInputクラス のためのラインで fileinput.input(" A.TXT " ): #最初の出力ファイル名の最初の行の前に IF fileinput.isfirstline(): プリントfileinput.filename( ) 印刷ライン #の結果を A.TXT 私が いた 良い、 人々を
その他の機能は似て使用している、すべてが導入されていません。