この章ではファイルを読み書きする方法について説明します。
Pythonではプログラムでファイルを作成したり、ファイルの読み書きをすることが出来ます。 初めにファイルの中身を読み込む方法について説明します。
pyファイルの他に「test.txt」を用意します。
ファイル名は自由に付けていただいて結構です。
では例をみてみましょう。 結果は次の通りです。 ファイルを開くにはopen関数が必要です。 「モード」にはファイルをどのような状態で開くのかを指定します。
例えば「r」ですと、読み込み専用で開きます。
例では「test.txt」の中身を読み込みたいので、モードは「r」にしています。
モードは他にも以下の種類があります。
次にファイルの内容の読み込み方法について説明します。
ファイルの内容を読み込むためのメソッドは3種類あります。
例ではreadメソッドを使っていますが、このメソッドはファイルのすべての内容を読み込むので、で読み込んだ内容を変数dに入れて、で出力しますと「test.txt」の内容が出力されます。
そして、ファイルを開いたら、閉じなくてはいけないので、close関数で閉じます。
次はreadlinesメソッドを使って、ファイルを読み込む方法について説明します。 readlinesメソッドはファイルの内容すべてをリストとして返すので、で出力するとになります。
ファイルの行の終端には改行文字が付いているので、for文で出力する時には以下のように改行されて出力されます。 この改行文字を取り除きたいのであればstripメソッドを使用します。
このstripメソッドは文字列の前や後の改行文字や空白、タブなどを取り除いてくれます。 先ほどの例をstripメソッドを使って書き直すと以下の通りです。 結果は以下の通り、改行文字が取れていることが分かります。
次はreadlineメソッドを使ってファイルの内容を改行文字までの1行を読み込み、文字列を出力します。 readlineメソッドはファイルの内容を改行文字までの1行を読み込みます。 結果は次の通りです。
次はファイルへ書き込む方法について説明します。 指定ファイルに文字列を書き込むにはモードをで指定します。 ファイルに書き込むにはwriteメソッドの引数に文字列を指定してください。
ファイルの中で改行したい場合はのように改行文字を使用します。
この例ではモードに「w」を指定しているので、ファイルの中身をカラにして書き込みます。
結果は以下のように「test.txt」が書き替えられます。
もう一つファイルに書き込むメソッドがありますので、次の例で説明します。 ファイルに書き込むにはwritelinesメソッドの引数に文字列、リスト、タプルなどを指定してください。
writeメソッドの引数にリスト、タプルを指定するとエラーになります。 結果は以下の通り「test.txt」が書き替えられます。
タグ: ファイル
Perlプログラムでファイルを扱う方法を知ろう
この章ではPerlプログラムの中でファイルを扱う方法を学習します。
Perlプログラムの中でファイルを読み込んだり、書き込んだり、削除したりすることが出来ます。
プログラムでファイルを操作するには初めに、対象のファイルを開くことが必要です。
そして、その開いたファイルをプログラム上に表示させたり、プログラムの中のデータをファイルに書き込んだりする操作を加えて、
最後にその開いているファイルを閉じると言う過程をたどります。
ではファイルの開き方から説明します。
ファイルを開くにはopen関数を使います。ファイルハンドルとは今どのファイルを実行しているのかを区別するための名前のことを言います。
つまり、ファイルを操作するためのIDみたいなものです。
ファイルハンドル名を付けてからはこのファイルハンドル名で実行するための指示を出していきます。
ファイルハンドルは大文字で付けるのが慣習になっています。
ファイルを開いたとは閉じなくてはいけませんが、それにはclose関数を使います。
close関数の引数にはファイルハンドルを入れます。 ではファイルにデータを書き込む例を見てみましょう。 では説明を始めます。 モードは「>」だけではないので、ファイルを開くときにはどのモードで開くのかを以下を参考に指定してください。 次にflock関数について説明します。 =>flock関数はファイルをロックする関数です。
ファイルに何かを記録するときに、複数の人が同時に同じファイルに書き込みを行うとファイルが壊れる可能性があるので、ファイルに書き込みを行う前にファイルをロックして、書き込んでいる間は他の人がファイルに書き込んだり読み込んだりを行えないようにすることが必要になります。
そのような時に使うのがflock関数です。ロックの種類は以下の通りですが、この例では書き込みを行っているので読み書き両方を禁止する2を指定してください。
ファイルロックは読み込み専用でファイルを開いている時にはflock関数は使う必要はありません。
つまりロックはしなくてもいいです。 次にファイルに書き込む方法について説明します。 ファイルに書き込みには以下の構文の通りprintを使います。
printの引数にはファイルハンドルと書き込む内容を書きます。
最後にflock関数をノンブロックモードでファイルロックを解除して、ファイルを閉じます。つまり、ロック解除してから、close関数でファイルを閉じます。 結果は以下のようにファイルに書き込まれます。 次は書き込んだ内容を画面に出力します。では解説をしていきます。
=>読込み用で開きますので、「<」を使用します。 =>ここではファイルの内容を読み込みます。
ファイルの内容を読み込むには以下の基本構文を使います。 この例では「<OUT>」です。
「<ファイルハンドル>」はファイルから1行ずつ読み込みを行います。
読み込んだ1行の末尾には改行記号が付いています。
ファイルの内容を出力する方法は3つあります。 そして、すべての内容を取り出したら、ファイルを閉じます。
ファイルを削除するには、unlink関数を使います。
戻り値には、削除したファイルの個数が返ってきます。
複数のファイルを削除するには以下の構文で書きます。
では例をみてみましょう。
戻り値には、削除したファイルの個数が返ってきますので、例えばファイルが存在しないなどの理由で0が返ってきたらFALSEになり、以下のprint文が出力されます。
ファイル名を変更したい場合はrename関数を使います。 成功時には1、失敗時には 0を返します。
では例をみてみましょう。