ホームページ >バックエンド開発 >Python チュートリアル >Python でのファイルの読み取りと書き込み操作

Python でのファイルの読み取りと書き込み操作

不言
不言オリジナル
2018-04-28 14:33:181708ブラウズ

この記事では主にPythonでのファイルの読み書き操作と、ファイルからデータを読み込む操作方法をサンプルとテキストを組み合わせて詳しく紹介しますので、必要な方は参考にしてください。

ファイルからデータを読み取る

ファイル全体を読み取る

ここでは、現在のディレクトリに「pi_digits.txt」という名前のテキストファイルがあり、内部のデータは次のようになっていると仮定していますフォロー:

3.1415926535
8979323846

2643383279

with open('pi_digits.txt') as f: # 默认模式为‘r',只读模式
  contents = f.read() # 读取文件全部内容
  print contents # 输出时在最后会多出一行(read()函数到达文件末会返回一个空字符,显示出空字符就是一个空行)
  print '------------'
  print contents.rstrip() # rstrip()函数用于删除字符串末的空白


3.1415926535
8979 323846

2643383279
----------------
3.1415926535
8979323846
2643383279

1 行ずつ読み取る の取得は、ループしてデータを 1 行ずつ読み取ることで実行できます。 3846

2643383279

---- ------------

ファイルを読み取るとき、データが読み取られた場所にポインターが記録されているのと同じであり、データが継続されると、ポインターはその側を指します。読み取られる場合は、この位置から読み取りを続けるため、上記のコードの 2 番目のループの出力は空になります。上記のコードを次のように少し変更します: 35
8979323846

2643383279

上記code 初めてファイルを読み取った後にファイルを閉じ、読み取りのために再度開くことと同じです。次のように、readline() 関数を使用してデータを 1 行ずつ読み取ることもできます。

with open('pi_digits.txt') as f:
  for line1 in f:
    print line1 # 每行末尾会有一个换行符
  print '------------'
  for line2 in f:
    print line2.rstrip() # 此时文件已经读完,line2指向文本末尾,因此不会有输出

3.1415926535

8979323846

場合によっては、すべてのデータを一度に読み取り、個別に保存したい場合があります。もちろん、操作は上記のループで実現できますが、Python ではより簡単なメソッド readlines() が提供されています:

with open('pi_digits.txt') as f:
  for line1 in f:
    print line1
  print '------------'
with open('pi_digits.txt') as f: # 需要重新打开文本进行读取
  for line2 in f:
    print line2.rstrip() # 删除字符串末尾的空白

['3.1415926535n', '8979323846n', '2643383279n']

--- -------------
3.1415926535
8979323846
2643383279

---------------
3.141592653589793238462643383279


データをファイルに書き込む


いくつかの異なるものがありますデータを書き込む方法モードで、最も一般的に使用されるのは w' と 'a' で、それぞれ元のデータを消去してから書き込むことと、元のデータにデータを書き込むことを意味します。時間になると、現在のパス「write_data.txt」テキスト ファイルの下にファイルが作成され、次のようにファイルにデータを書き込みます:


私はメレンゲです。
私は今 NJTECH で勉強しています。

以下は続きます新しいデータをファイルに追加するには:


with open('pi_digits.txt') as f: 
  # readline()每一次读取一行数据,并指向该行末尾
  line1 = f.readline() # 读取第一行数据(此时已经指向第一行末尾)
  line2 = f.readline() # 从上一次读取末尾开始读取(第二行)
  print line1.rstrip()
  print line2.rstrip()


この時点でのファイルの内容は次のとおりです:


私はメレンゲです。
私は今NJTECHで勉強しています。
私は機械学習とコンピュータービジョンを専攻しています。

関連する推奨事項:

Python の使用法 matplotlib によって実装される画像の読み取り、切り取り、トリミング関数の例



以上がPython でのファイルの読み取りと書き込み操作の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。