ホームページ > バックエンド開発 > Python チュートリアル > Python でファイルの読み取りと書き込みを開き、スクリプト コードの表示を実装する

Python でファイルの読み取りと書き込みを開き、スクリプト コードの表示を実装する

巴扎黑
リリース: 2017-05-21 18:54:02
オリジナル
1698 人が閲覧しました

Python でのファイル操作は、open 関数を通じて実行できます。これは、C 言語の fopen によく似ています。 open 関数を通じてファイル オブジェクトを取得し、read()、write()、およびその他のメソッドを呼び出してファイルの読み取りと書き込みを行います。

1.open

open を使用してファイルを開いた後、忘れずにファイル オブジェクトの close() メソッドを呼び出す必要があります。たとえば、try/finally ステートメントを使用すると、ファイルを最終的に閉じることができるようになります。

file_object = open('thefile.txt')
try:
  all_the_text = file_object.read( )
finally:
  file_object.close( )
ログイン後にコピー
ログイン後にコピー

注: ファイルを開くときに例外が発生すると、ファイル オブジェクト file_object は close() メソッドを実行できないため、open ステートメントを try ブロックに配置することはできません。

2. ファイルを読み取る

テキストファイルを読み取る

input = open('data', 'r')
#第二个参数默认为r
input = open('data')
ログイン後にコピー

バイナリファイルを読み取る

input = open('data', 'rb')
ログイン後にコピー

すべての内容を読み取る


file_object = open('thefile.txt')
try:
  all_the_text = file_object.read( )
finally:
  file_object.close( )
ログイン後にコピー
ログイン後にコピー

固定バイトを読み取る

file_object = open('abinfile', 'rb')
try:
  while True:
    chunk = file_object.read(100)
    if not chunk:
      break
    do_something_with(chunk)
finally:
  file_object.close( )
ログイン後にコピー

各行を読み取る

list_of_all_the_lines = file_object.readlines( )
ログイン後にコピー

ファイルがテキストファイルの場合は、ファイル オブジェクトを直接トラバースして各行を取得できます:

for line in file_object:
    process line
ログイン後にコピー

3. ファイルの書き込み

テキスト ファイルの書き込み

output = open('data', 'w')
ログイン後にコピー

バイナリ ファイルの書き込み

output = open('data', 'wb')
ログイン後にコピー

ファイルの追加書き込み

output = open('data', 'w+')
ログイン後にコピー

データの書き込み

file_object = open('thefile.txt', 'w')
file_object.write(all_the_text)
file_object.close( )
ログイン後にコピー

複数行の書き込み

file_object.writelines(list_of_text_strings)
ログイン後にコピー

writelines を呼び出して複数行を書き込む方が、write を使用して一度に書き込むよりもパフォーマンスが高くなることに注意してください。

以上がPython でファイルの読み取りと書き込みを開き、スクリプト コードの表示を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート