ホームページ  >  記事  >  バックエンド開発  >  Python ファイルの 3 つの読み取りおよび書き込みモードの特徴と違い

Python ファイルの 3 つの読み取りおよび書き込みモードの特徴と違い

不言
不言転載
2018-10-09 16:38:214710ブラウズ

この記事では、Python ファイルの 3 つの読み取りおよび書き込みモードの特徴と違いについて説明します。一定の参考値があります。困っている友人は参照してください。お役に立てれば幸いです。

この記事では主に、ファイルの 3 つの読み取りおよび書き込みモードの特徴とそれらの違い、およびファイルの変更操作が実現できるかどうかについて説明します。 ##前の記事

エンコーディングについてはすでに説明したので、ここではエンコーディングについては説明しません。すべてのオープン操作はデフォルトで utf-8 エンコーディングになります (Linux システムでは)

最初に r (読み取りと書き込み)

r は読み取りと書き込みの両方ができるため、r モードでファイルを変更することは可能ですか?答えは「はい」です!ただし、注意する必要があるのは、正確な場所で変更する正確な内容がわかっていないと、期待した結果が得られないことが多いということです。例は次のとおりです。 「10 歩で 1 人を殺し、1,000 マイルに痕跡を残さない」というテキストがあります。

このような要求があるとします。「10 歩で 1 人を殺す」を次のように変更します。 「10 ステップで山賊を倒す」、最初のアイデアは次のとおりです: read(4) を使用して漢字「一」を読み、次に漢字「一山賊」を書きます:

with open('job', mode='r+') as f:
    print('先读取四个字符:',f.read(4))
    print('读取后的指针位置:',f.tell())
    f.write('个土匪')
    f.seek(0)
    print(f.read())
    输出为:
    先读取四个字符: 十步杀一
    读取后的指针位置: 12
    十步杀一人,千里不留行个土匪

ご覧のとおり結果から、ポインタは確かに read(4) 位置を使用して指定されたポイントに移動されますが、書き込み時には期待どおりに移動せず、ファイルの最後まで実行されました。これには「CHUNK」と呼ばれるものが関係していますが、アンディ先生が教えてくれたわけではないので詳しくは説明できませんが、深く理解してからお話しします。

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

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。