MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
Pythonの基礎 - ファイルのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
Pythonの基礎 - ファイル
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == Pythonでは、ローカルに保存されたファイルからデータを読み込んだり、ファイルへデータを書き込むことができる。<br> また、ディレクトリに含まれるファイルの一覧を取得したり、ディレクトリ名を変更したりすることもできる。<br> <br><br> == ファイルのオープン / クローズ == ==== ファイルを開く ==== 組み込み関数の<code>open</code>関数を使用してファイルを開くことができる。<br> <syntaxhighlight lang="python"> open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) </syntaxhighlight> <br> 第1引数は、開くファイル名を指定する。<br> 正常に開くことができる場合、対応するファイルオブジェクトを返す。(ファイルオブジェクトは、第2引数で指定したモードにより異なる)<br> 正常に開くことができない場合、例外<code>OSError</code>が送出される。<br> <br> 第2引数は、ファイルを開くモードを指定する。(デフォルトはテキストモード(<code>t</code>)のため、<code>t</code>を明示的に付加する必要はない)<br> バイナリモード(<code>b</code>)で読み込み権限や書き込み権限を付加する場合、<code>r+b</code>や<code>wb</code>と指定する。<br> * r *: 読み込み用(ファイルが存在しない場合はエラー) * r+ *: 読み込みおよび書き込み用(ファイルが存在しない場合はエラー) * w *: 書き込み用(ファイルの中身をクリア) * w+ *: 読み込みおよび書き込み用(ファイルの中身をクリア) * a *: 書き込み用(ファイルの末尾に追加) * a+ *: 読み込みおよび書き込み用(ファイルの末尾に追加) * x *: 書き込み用(ファイルが存在している場合はエラー) * x+ *: 読み込みおよび書き込み用(ファイルが存在している場合はエラー) * b *: バイナリモード * t *: テキストモード <br> 第4引数は、使用する文字エンコーディングを指定する。<br> これは、テキストモードでのみ指定する。<br> * ascii * cp932 * euc_jp * shift_jis * utf-8 (utf_8) <br> エンコーディングを省略した場合は、現在のプラットフォームのデフォルトエンコーディングが使用される。<br> 自身の環境でのデフォルトエンコーディングを確認するには、以下のソースコードを実行する。<br> <syntaxhighlight lang="python"> import locale locale.getpreferredencoding() </syntaxhighlight> <br> もし、UTF-8を使用して記述されたファイルを読み込む場合、<code>encoding='UTF-8'</code>のように引数に指定する。<br> なお、開くファイルが存在しない場合は、例外<code>FileNotFoundError</code>が発生する。<br> <syntaxhighlight lang="python"> f1 = open('myfile.txt', 'r') f2 = open('myfile.txt', 'w+') f3 = open('myfile.txt', 'r', encoding='UTF-8') f4 = open('myfile.txt', 'rb') </syntaxhighlight> <br> 正常にファイルが開かれると、ファイルオブジェクトが返る。<br> ファイルオブジェクトのクラスは、<code>open</code>関数で使用したモードによって異なる。<br> 例えば、テキストモードの場合は<code>io.TextIOWrapper</code>、バイナリモードの読み込みの場合は<code>io.BufferedReader</code>、バイナリモードの書き込みの場合は<code>io.BufferedWriter</code>、<br> バイナリモードの読み書きの場合は<code>io.BufferedRandom</code>となる。<br> * r *: io.TextIOWrapper *r+ *: io.TextIOWrapper * rb *: io.BufferedReader *r+b *: io.BufferedRandom * w *: io.TextIOWrapper *w+ *: io.TextIOWrapper *wb *: io.BufferedWriter * w+b *: io.BufferedRandom * a *: io.TextIOWrapper * a+ *: io.TextIOWrapper * ab *: io.BufferedWriter * a+b *: io.BufferedRandom * x *: io.TextIOWrapper * x+ *: io.TextIOWrapper * xb *: io.BufferedWriter * x+b *: io.BufferedRandom <br> ==== ファイルを閉じる ==== ファイルの使用後は、<code>close</code>関数を使用してファイルオブジェクトを閉じる。<br> <syntaxhighlight lang="python"> f = open('myfile.txt', 'r') # 処理1 # 処理2 f.close() </syntaxhighlight> <br> 他の方法として、<code>with</code>文を使用してファイルを開く場合、使用後は自動的にファイルを閉じることができる。<br> どちらの方法でも、結果は同じになる。<br> <syntaxhighlight lang="python"> with open('myfile.txt', 'r') as f: # 処理1 # 処理2 </syntaxhighlight> <br> 以下の例では、myfile.txtファイルの内容を読み込み画面に出力した後、ファイルオブジェクトを閉じている。<br> 以下の内容のmyfile.txtファイルを作成する。<br> # myfile.txtファイル Hello World <br> <syntaxhighlight lang="python"> f = open('myfile.txt', 'r') data = f.read() print(data) f.close() </syntaxhighlight> <br><br> __FORCETOC__ [[カテゴリ:Python]]
Pythonの基礎 - ファイル
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse