ファイル・アイ・オーの話をしよう｡
I oとはどういう意味ですか？
プログラミングではよく目にする光景です｡
IOはinput outputの略です｡
多くの場合､ 機械は1つの環境だけで通信しているわけではありませんよね｡
例えば､ これまでは､ 例えばここにあるSublime textのようなエディターや､ Pi Charm､ オンラインのリップルなどでコードを書いていました｡
しかし､ 通常はシステムのさまざまな部分と対話したいものです｡
他のウェブサイトと話したいかもしれないし､ デスクトップ上の何かと話したいかもしれない､ ファイルかもしれない､
2つの異なるマシンが互いに通信しているかもしれない｡
もしかしたら､ データベースと会話しているのかもしれませんね｡
IOは簡単に言うと､ 「ねえ､ 外の世界から何かを入力して､ 外の世界に何かを出力してほしい」という意味です｡
IOのようなものを使う最も一般的な方法の1つは､ ファイルを読み込むことです｡
Pythonで､ 画像を圧縮するスクリプトを書いたらどうだろう､
IOが必要だ､ 画像を入力して､ 圧縮したものを出力する必要がある｡
画像はイメージです｡
多分､ 私はPDFファイルで作業し､ 多分私のすべてのPDFページに透かしを追加したいと思います｡
では､ PDFを入力し､ 新しいバージョンのPDFを出力します｡
ですから､ これは非常によく見かける作業です｡
そして､ ファイルの読み書きは､ 私たちのツールベルトの中でも非常に重要なツールです｡
ちなみに､ これを実際にPDFで使うプロジェクトが控えています｡
しかし､ とりあえず､ このファイル入力出力をPythonで行うにはどうしたらいいのでしょうか？
さて､ Pythonには2つのファイルを開いたり書いたりできる関数が組み込まれています｡
しかも､ 単純にオープンというだけで､ いい加減なものです｡
そこでopenを使うと､ 次のようなことができる｡
サンプルのテキストファイルはデスクトップで作成できるので､ ここではターミナルを使ってみます｡
そこで､ 現在の作業ディレクトリを見てみると
デスクトップでやってます｡
Windowsの場合は､ ここでいくつかの異なるコマンドを実行する必要があります｡
しかし､ もうこのあたりで､ ファイルを作ろうと思えば作れるということは､ かなり慣れてきたはずです｡
これで､ 手動でもターミナルでもできるようになりました｡
実はできるんです｡
macの場合は､ タッチをした後､ テストドットテキストと言えばいいんです｡
ここでlsを実行すると､ testテキストファイルとscriptドットパイファイルがあることがわかります｡
そして､ もう一度､ デスクトップに移動した場合の再確認のためです｡
うん｡
この2つをここに持っています｡
完璧です｡
ここで､ スクリプトファイルに次のように記述します｡
オープン
そして､ そのファイル名｡
私たちの場合は､ テストです｡
文字列テスト､ ドットテキストであることを確認してください｡
ただ､ それだけです｡
これで､ これを変数に代入して､ 自分のファイルと呼ぶことができる｡
そして､ 今度は､ その､ ファイルオブジェクトです｡
では､ これを確認してみましょう｡
ここでやったら､ 私のファイルを印刷してください｡
どうなるか見てみましょう｡
自分のコードを実行する
そこで､ python three と言って､ script dot py を実行します｡
わかりました｡
テキスタイルラッパーというオブジェクトを取得し､ テキストである名前を取得し､ まだよくわからないがモードを取得する｡
学習して､ 次にエンコーディング､ つまりこのファイルがどのようにエンコードされているかということですが､ これはUTF8です｡
通常､ ほとんどのファイルはUTF8でエンコードされています｡
では､ 実際にこのファイルを読むにはどうしたらいいのでしょうか？
必要なのは､ 私のファイルにドットがついていることです｡
リード・メソッドを搭載しているので､ 今これを実行すると
さて､ このテスト用テキストファイルには何も書かれていないので､ 空白の部分が表示されます｡
だから､ 何か書こう｡
このファイルを開いて､ sublime textで､ ひたすら書いてみる｡
こんにちは､ 私の名前はアンドレです｡
さて､ 今回は本当に､ 本当にクリエイティブなことをしました｡
お疲れ様でした｡
よし､ 戻ろう｡
だから今､ このファイルを読むと
あれを見てください｡
読書ができるようになった｡
こんにちは､ 私の名前はアンドレです｡
そして今､ そこにいる｡
ファイルを読みました｡
いい感じ､ 簡単｡
さて､ これをもう一度実行すると､ ちょっと｡
何度も読んでください｡
実行」をクリックすると
うーん｡
初回は読めても､ この2回は何も読めません｡
それはなぜでしょうか？
さて､ このオープン機能には､ このようなカーソルの考え方があります｡
つまり､ 1回しか読めません｡
そして､ 一度開くと､ ファイルオブジェクトを返します｡
そして､ 読み取れるファイルの中身｡
そして､ ファイルの中身は､ ここにあるようなカーソルで一つずつ赤く表示され､ 画面に印刷されます｡
しかし､ この最初の読み取りが終わるころには､ カーソルはファイルの末尾に来ることになる｡
そのため､ 今度は読み込もうとすると､ ファイルの末尾になり､ 何も残らないことになります｡
そこで､ これを回避する方法として､ 次のようなことが考えられます｡
単にmy file dot Cと言えば､ カーソルは好きなインデックスに移動する｡
私たちの場合は､ ゼロを求めます｡
だから､ 今これを実行すれば､ ほら｡
そして､ カーソルを戻すと
そして､ これを保存して実行します｡
わかりました｡
それが今は､ かなり良くなっています｡
そして､ これはPythonがこのカーソルのアイデアを使用してファイルを読み取ることを示すだけです｡
さて､ もうひとつユニークなのは､ 既読スルーです｡
これを実行すればいいように｡
行を読み取るのですが､ テキストファイルが異なる行を持つとします｡
それで､ お元気ですか？
ここにスマイリーフェイスを入れるとしよう｡
今､ 私がこのセリフを読んだら｡
もう一度｡
こんにちは｡
私はアンドレといいます｡
もう一度セリフを読んだら
こんにちは｡
私の名前がアンドレなのは､ それぞれのセリフが出るからです｡
これを複数回印刷すると1行目しか表示されないのですが｡
そして､ これを実行します｡
よし､ これでいいんだ｡
得ることができます｡
こんにちは､ アンドレ・スマイリー・フェイスです｡
お元気ですか？
ここでもカーソルは動き続ける｡
そう､ だから私はセリフを読み続ければいいんだ｡
もうひとつは､ これを実行したら行を読むというだけでいいんです｡
ファイル全体を含むリストを取得し､ すべての行を読んで､ ここにあるのがわかります｡
こんにちは､ アンドレ・ナギーです｡
ここに新しいラインができました｡
スマイリーフェイス､ 新しいライン｡
これはエスケープシーケンスであることを忘れないでください｡
それから､ ここには新しいラインはなく､ どうしているのですか？
新しい線がないからです｡
ファイルの最後です｡
だから､ これらは非常に便利です｡
正規表現を使って､ ファイル内のテキストを検索できるかもしれない｡
なかなか便利でしょう？
さて､ 一番最後にやらなければならないことですが､ これはちょっと面倒なので､ 今後やらなくていい方法を紹介します｡
しかし､ 実際にはopenでファイルを開いた後､ 手動で閉じる必要があります｡
だから､ プログラムのどこかで使うことができる｡
ちょうどいい基準ですね｡
だから､ あなたがしなければならないことは､ あなたがそれを終えた後､ 私のファイルを閉じると言うことです｡
コンピュータに伝えるのです｡
ねえ｡
今やっていることをすべてやめてください｡
もうこのファイルに興味はない｡
もういいんです｡
どこかで使える｡
だから､ 普通はこんな感じでやって終わりなんですけどね｡
一息ついて､ 次のビデオでもう少し勉強しましょう｡