日09テキスト操作

ファイルとは何ですか

ファイルには、仮想ハードディスクの単位は、ユーザーまたはアプリケーション提供のためのオペレーティングシステムを読み書きです。ファイル操作は、オペレーティング・コア・ファイルに基づいており、そのファイルがある:読み取りと書き込み。さらに

限り、ファイル操作がために、我々は、オペレーティングシステムに要求を開始することであり、その後移動ロボットを制御する、ディスク回転制御としてのハードディスク集合コマンド(に読み出し動作および書き込みオペレーティングシステムやアプリケーションファイルによってユーザに変換するようにデータを読みます)。

なぜファイルをすべきか?

私たちは永久にデータを保存したい時はいつでもメモリは永久に、データを保存することができませんでしたハードウェアの動作を操作しながら、ファイルを達成することができ、あなたのハードドライブにファイルを保存する必要があります。

3つのステップに分け、開いているすべてのファイルのすべて:

ファイルを開いて
読み書きする
閉じ

絶対および相対パス

1.絶対パス
、ドライブ文字(C:、D :)から、Windowsのシステムの絶対パスは、完全パスを書き始めました。
2.相対パス
探して起動するため、現在実行中のファイルフォルダからの相対。

3つのファイルを開きます

Oppen(パス、モード、符号化)
ベースモード動作、3つのファイルが(デフォルトの動作モードがモードRである)があります。

  • R読み取り専用モードをリードモードにのみ存在しないファイル与えられて、読んでますが書き込めませんすることができ
    、つまり、コンピュータのカードファイルが非常に大きい場合、それはメモリが鳴り恐れがあり、すべてのコンテンツf.read()1時間のファイルを読み取るために死にました。だから、ファイルの内容を読み込むためのf.readline()/ f.readlines()を使用することができます。

  • のみ読み取ることができない、書く書くためのwモードは、バックファイルへのファイルの内容を記述した後、空にするための時間があり、内容が書き込まれたときにファイルが作成された後にファイルが存在しません。
  • モードを追加
    添加してもよいです。ファイルは、ファイルの末尾に書き込み、存在しています。内容が書き込まれたときにファイルが作成された後にファイルが存在しません。
    ファイル形式の内容を読み、2(コンテンツの読み出しモードBのデフォルトモード)があります。

  • トンのテキストモード
  • bモードは、Bモードをバイトすべてのファイルがバイナリ形式を保存するためにハードディスク上にあるため、ことに留意すべきであるコモンモードです:バイナリコーディングはもはや可能性があるため、符号化パラメータを追加してはならない、Bモードは、ファイルの読み書き。
    その注:両方のモードはrに必要で、単独で使用することができないB、Tは/組み合わせの一つ/ wです。

運用状況と文書管理

私たちは、ファイルを操作するのopen()メソッドを使用する前に、開いているファイルを開くが、我々はまた、手動でオペレーティングシステムを取るファイルを解放する必要があります。しかし、実際には、我々は)コンテキスト管理ツールにPythonのオープン--withを(提供するファイルを開くために、より便利な場合があります。
開いた状態で()メソッドだけではなく、オペレーティングシステムの自動解除するための方法を提供するオープンで、占め、カンマで区切ることができ、一回オープン高速コピー複数のファイル、ファイル

with open('32.txt', 'rb') as fr, \
     open('35r.txt', 'wb') as fw:
    f.write(f.read())

ファイルポインタ

1.seekは(そこからオフセット):オフセットポインタは、バイト単位でファイルオフセットを表し
2.tellを():現在のポインタの位置にファイルの先頭からのたびにカウントされ
3.read(N)のみでREAD(n)は、n個のモードは、ファイルポインタのバイト数があるときはいつでも加えて、別に関し、文字の数で表される
4.truncate(N):TRUNCATE(N ) 切り捨てられたファイルであり、ファイルオープンを書き込まなければならない、しかしため、ファイルとして直接空の、または等、W + W開くことができないので、切り捨てる()R + A +等やパターンの影響下で試験します。それは、常に参照ファイルのヘッダです。そして、それを空に対応し、パラメータなしで()切り捨てます。

ファイルの内容を変更するには2つの方法

データファイルはハードディスクに保存されているので、そこだけカバーされ、何も変更はありません、特に二つの方法で実装され、すべてのシミュレーション結果、我々は通常、ファイルを変更見る、と言うことです。
一つの方法:すべて読むために1時間
の変更が完了した後、ハードディスク(ワード、VIM、nodpad ++エディタなど)へのメモリで覆われた後、すべてがメモリにロードされたハードディスクに保存されたファイルの内容は、メモリ内で変更することができます。

import os

with open('37r.txt') as fr, \
        open('37r_swap.txt', 'w') as fw:
    data = fr.read()  # 全部读入内存,如果文件很大,会很卡
    data = data.replace('tank', 'tankSB')  # 在内存中完成修改

    fw.write(data)  # 新文件一次性写入原文件内容

# 删除原文件
os.remove('37r.txt')
# 重命名新文件名为原文件名
os.rename('37r_swap.txt', '37r.txt')
print('done...')

第二の方法:行で読み取りライン
メモリにハードディスクに保存されたファイルの内容が行毎に読み込まれ、新しいファイルが書き込まれている修正が完了し、最終的に新しいファイルとソースファイルをカバーしています。

import os

with open('37r.txt') as fr,\
        open('37r_swap.txt', 'w') as fw:
    # 循环读取文件内容,逐行修改
    for line in fr:
        line = line.replace('jason', 'jasonSB')
        # 新文件写入原文件修改后内容
        fw.write(line)

os.remove('37r.txt')
os.rename('37r_swap.txt', '37r.txt')
print('done...')

すべてのすべてで、用ファイルのアイデアの内容を変更します。元のファイルの内容が変更され、その後、新しいファイルに書き込まれるように、新しいファイルを開くための方法を記述し、元のファイルの読み込みを開き、osモジュールのメソッドを使用して、元本物の目的を達成するために、元のファイル名に新しいファイルの名前を変更、削除するファイル。

おすすめ

転載: www.cnblogs.com/bladecheng/p/10939529.html