ファイル処理
文字コード
コンピュータの基礎ディアン
任意のアプリケーションは、ハードウェアの動作を行うために、オペレーティング・システムによって、その後の要求は、オペレーティングシステムの起動システムを呼び出すために必要なハードウェアを動作させること、および
第二に、原則ディアンテキストエディタ、ファイルへのアクセス
1.エディタを書き込むエディタでそうコンテンツ、メモリ内にある、プロセスを開始するために開かれ、また、メモリに停電後のデータ損失が記憶されています。
ハードディスクへのブラシエディタメモリのデータ:2が永久的に保存するには、[保存]ボタンをクリックする必要があります。
3.私たちが書くPYファイル(なし実行)、その他の書類の作成と違いはありません、それだけで文字のみの束を書いています。
PYファイルを実行するための原理水とPyhthon通訳
- 第一段階:Pythonインタプリタは、この時点で開始し、テキストエディタを起動することと等価です。
- 第二段階:に読み込まtest.pyハードディスクの内容上のファイルからファイルをINGのtest.pyのディスクからテキストエディタ、test.pyプレイファイルへのPythonインタプリタと同等。
- 第三段階:Pythonインタプリタは単にメモリtest.pyコードにロード解釈されます。(詩:この段階では、それがコードの時に実際の実装では、名前=「エゴン」に実行されたときに、文字列「エゴン」のためのメモリ空間を開きますPythonの実行可能ファイル内のコードを構文を認識します)
類似点と4ディアンPythonインタプリタと、この文書の編集者との違い
〜同じポイント:Pythonインタプリタは、テキストエディタと同じですPYファイル機能を、読んだことがあるので、Pythonインタプリタは、ファイルの内容を解釈しています。
- 違い:表示するためまたは編集中のテキストエディタ、メモリへのファイルの内容は、Pythonの構文を気にしないが、PythonインタプリタはありませんあなたのPythonコードで覗き見を与えるために、メモリに内容を提出します何が、Pythonの構文を識別し、Pythonのコードを実行するために書きました。
五、シリアル番号
〜ユニコードが生成伝統的な文字コード体系の制限に対処することであり、それは16の最小値を表すために文字や記号にもかかわらず、各文字について各言語の統一と一意のバイナリエンコーディングを設定する(2バイト)、すなわち:16 = 65536 ** 2、注意:ここでは、おそらくより2バイトの最小値を言うことです。
〜UTF-8、Unicodeは、コードを圧縮して最適化されて、彼はもはや最低限のセクションを使用して2つのバイトを使用していますが、分類されたすべての文字と記号:保存された1バイトのASCIIコードの内容、ヨーロッパ保存された文字の2つのバイトは、東アジアの文字は3つのバイトを保存します。
どのような文字エンコーディング標準によると、我々は基準デコードに従わなければなりません。
3違いPython2と文字エンコーディング
python2デフォルトのエンコードインタプリタASCII
のpython3のデフォルトのエンコードインタプリタのUTF-8へ
3つのファイルを開きます
R:読み取り専用
f.read()
W:書き込みを空にした後(存在しないファイルを作成します)
f.weite()
:追加(ファイルが自動的に作成存在しません)
f.write()
テキストモード:トン
バイナリモード:B
T / Bは、単独で使用することはできず、R / W /のみ使用することができます
ファイル管理コンテキストで
Fなど)(オープンで:#は自動的に閉じます
pyInstallerの使用
INSTAL pyInstallerのピップ
フォルダのパスを切り替え(フォルダには、2つのファイルがtest.py img.icoと含まれています)
pyInstallerの-i img.ico -F test.py
高度なアプリケーションファイル
アドバンスモードを開きます。
R +:読み取りおよび書き込み、ファイルポインタが最後であります
W +:読み取りおよび書き込み、空のファイル(強く推奨されません)
+:読み書き可能
ファイルの高度な方法
- 求める:バイト単位
- 教えて:バイト単位
- (n)を読み出す:バイト
- truancate:バイト単位
RBモードにより、
```python
# with open('test.py', 'rb') as fr:
# fr.seek(1, 0) # 0是从文件头开始,走1个字节
# fr.seek(1, 1) # 1是从当前位置开始,走1个字节
# fr.seek(1, 2) # 2是从文件末开始,走1个字节
# fr.seek(0, 2) # 2是从文件末开始,走1个字节 # 定位到文件末尾
# print(f'fr.tell():{fr.tell()}') # 告诉你当前指针的位置
# print(fr.read()) # 中 --> \xe4\xb8\xad
# with open('test.py', 'a+b') as fa:
# fa.truncate(1)
with open('test.py', 'rt',encoding='utf8') as fr:
print(fr.read(3)) # 3个字符
```
還元法ファイル
地域の歴史
ファイルを変更するには2つの方法
この文書では、その唯一の適用範囲を変更しません。
with open ('tset.py','r+',endcoding='utf8') as fr:
fr.seek(3)
fr.write('中')
fr.flush() #如果不加flush短暂的停留在内存中,然后再刷入硬盘。
#如果加了会更快速刷入硬盘
with open ('tset.py','r',encoding='utf8') as fr,\
open('tset_swap.py','w',encoding='utf8') as fw:
data = fr.read()
data = data.repalce('sb','dsb')
fw.write(data)
import os
os.remove('tset.py')
os.remove('tset_swap.py','test.py')