ファイル操作で with 文を使う
コンテキストマネージャーを使って、ファイルが自動的に閉じられるようにします。
「ファイル操作で with 文を使う」はCoddyKit上の無料Python Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPython Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Python Academyコースには全4レッスンが含まれています。
はじめに
with 文
# with open('data.txt') as f:
# content = f.read()
# f is now closed
print('with demo')try/finally より with が優れている理由
# Equivalent to:
# f = open('file.txt')
# try:
# content = f.read()
# finally:
# f.close()
print('comparison demo')複数のファイル
# with open('in.txt') as src, open('out.txt','w') as dst:
# for line in src:
# dst.write(line.upper())
print('multi-file demo')コンテキストマネージャープロトコル
# f.__enter__() opens
# f.__exit__() closes
print('protocol demo')読み込みと処理
lines = [' hello \n', ' world \n']
cleaned = [l.strip() for l in lines if l.strip()]
print(cleaned)with を使った書き込み
# with open('out.txt', 'w') as f:
# for i in range(10):
# f.write(f'{i}\n')
print('write with demo')ファイルの存在確認
import os
print(os.path.exists('/tmp'))
print(os.path.exists('/nonexistent'))open() のエラー
try:
with open('/nonexistent.txt') as f:
pass
except FileNotFoundError as e:
print('File not found:', e)メモリ上のファイルに使う StringIO
from io import StringIO
buf = StringIO('line1\nline2\n')
for line in buf:
print(line.rstrip())tempfile モジュール
import tempfile
with tempfile.NamedTemporaryFile(mode='w', suffix='.txt', delete=True) as f:
f.write('temp data')
print(f.name)クイックチェック
まとめ
次へ進みましょう
よくある質問
「ファイル操作で with 文を使う」レッスンは無料ですか?
はい。「ファイル操作で with 文を使う」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Python Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Python Academyコースには全4レッスンが含まれています。
「ファイル操作で with 文を使う」で何を学びますか?
コンテキストマネージャーを使って、ファイルが自動的に閉じられるようにします。 ブラウザで直接実行するハンズオンコードでPython Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Python Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのPython Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「ファイル操作で with 文を使う」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このPython Academyレッスンでコードを書いて実行できますか?
はい。すべてのPython Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- ファイルの開き方と読み取り方
- ファイルへの書き込みと追記
- ファイル操作で with 文を使う
- pathlib によるファイルパス操作