ファイル操作
文書の運用フロー:
- 指定されたパターンでファイルを開き、ファイルハンドルを取得し、変数に代入
- ファイルへの効果の読み取りおよび書き込み操作にファイルハンドルを操作することにより、
- ファイルを閉じます
図1に示すように、ファイルは、指定されたパターンで開かれ、変数に割り当てられたファイルハンドルを取得するために
ファイル=オープン(「ファイル名」、 MODE =「R」、コード=「UTF-8」)
が得られるハンドルファイル##、およびUTF-あります8は、コーディング、読み取りモードで開かれています
2は、文書の操作を可能にするためにファイルハンドルを操作して
、長いファイルを読んでいたとしても、書き込み動作として、カーソルファイルが移動されます。
ファイルを読みます:読み取りモードRでファイルを開きます。
读取文件整体内容至内存单元
:File.read()
注:そこカーソル下のファイルハンドルファイルがある、最初の最初の行にカーソルが、()を1回の後に読んで、カーソルが最後の行のコンテンツの後、最終的になります。だから、ファイルが(再び読んで)、何のコンテンツは存在しません
按指定数量读取文件的内容至内存单元
:file.read(n)を
読むn文字は、あなたが読み続けた場合、電池が使用されているRBモードが....読み出された場合には、再度、現在位置の代わりに、最初から読んで⽽読むことに注意してくださいnバイトであります
按行读文件至内存单元
:File.readline()
関数()文字の数の加算値を読み出しが指定され、それに応じてカーソルの移動で行またはいくつかの文字を読んだ後。
读取文件生成列表,并将每行作为列表的一个元素
:File.readlines()
注:この方法は、不適切なファイル、大きなファイルの内容にまず必要とします。ループのための推奨
for line in f:
print(line)
ファイルの内容を書きます:オープンワット書き込みモードでファイル
注:既存のファイルを書き込みモードで開かれるためには、まずファイルを開き、ファイルの中身を空にして、コンテンツを書き始めます
文字列を指定したファイルに書き込まfile.write(STR)は、書かれた文字の長さを返します。
追加のファイルの内容:追加モード()ファイルを開いた後、最後のカーソルのファイルの内容をAに移動します
rb
読むには、非単純なテキストファイルを使用、バイナリ形式のファイルを読みます
wb
ファイルに書き込まれたコンテンツのバイナリ形式
r+
:読み書きのためのファイルを開きます。ファイルポインタはファイルの先頭に配置されます。
- 書き込み後の意志その後追記ファイルの最終的な内容に、書き込み前に読み出した場合、その後、最初のファイルの内容を読み取る文字の数に応じてカーソルの移動を読み取ります
- カーソルがコンテンツの読み込みを開始します。最初の書き込み後読み取り、その後、最初のコンテンツを書き始めた場合は、内容に基づいて、書き込み内容は、送信文字の数に基づいて書かれたカーソルを移動し、元のファイルの内容を上書き
書かれたによると、完全に覆われていない。注コンテンツの長さの範囲、あなたはコンテンツの長さが元のコンテンツよりも短くなって書いた場合、元のコンテンツは、後に保持されます
w+
読み書きモード:ファイルが既に最初の書き込みの内容をクリアに存在する場合、書き込み後にカーソルが移動すると、カーソルがコンテンツではありませんした後、その後の言葉にこの時間を読んで
a+
追加ファイルの読み込み:この場合、最後のカーソル位置にある第1の追加コンテンツ、および、カーソルなしコンテンツの後の言葉を読んで
Bでファイルを開くための方法がない場合には、開口部の完了時にデフォルトで開いては、指定されたエンコーディングに変換されます。
with文
:つまり、コンテキストを管理することにより、開いているファイルを閉じ忘れないようにする
オープン(「ログ」、「R&LT」)AS Fと:
機能操作ドキュメント
file.tell()
ファイルの最初の数文字にカーソルを読み取るようになって
file.seek()
指定された場所にカーソルバックを。第2のオフセットは、現在位置1、2端を表しを示す、開始を示すために、デフォルトは0であり、出発点を表し、関数は最初のバイトで、オフセットを表す2つのパラメータを有し、シーク。
file.seekable()
ファイルには、カーソルを移動することができるかどうか
file.readable()
、ファイルが読み込まかどうか、
file.flush()
ライトワンスのハードディスクにバッファメモリ内のデータを
file.truncate()
指定された文字の先頭ファイル番号から切り捨て
ファイル操作の例
ファイルの内容を変更します。
それは新しいファイルに書き込まれる前に遅い速度が大きなファイルのために、あなたは行ずつ、ラインによって原稿ラインを読むことができますし、新しいファイルに書き込まれ、資格のある内容が変更されます。
f1=open("pks","r")
f2 = open("pks_new", "w")
line = f1.readline()
while line:
f2.write(line)
line =f1.readline()
f1.close()
f2.close()
大容量ファイルを読み取ります。
f = open("123.dat",'r')
cont = f.read(10)
while len(cont) >0 :
print(cont)
cont = f.read(10)
f.close()
大きなファイルをコピーします:
f1 = "123.dat"
f2 = "123.dat.bak"
fs1 = open(f1,'r')
fs2 = open(f2,'w')
cont1 = fs1.readline()
while len(cont1)>0:
#写入
fs2.write(cont1)
cont1 = fs1.readline()
fs1.close()
fs2.close()
オペレータのpython
算術
以下の仮定変数:= 10、B = 20
比較演算
仮定変数を以下:= 10、B = 20
代入演算子
仮定変数以下:= 10、B = 20の
論理演算
さらなる研究論理演算のために:
なし優先順位とし、より高い優先度や、即ち優先関係()よりも高くない場合()に>しない>と>または 、 左から右に同じ優先度が算出されます。
操作部材は:
上記の演算子の一部に加えて、Pythonのメンバーはまた、オペレータをサポートし、試験例では、文字列、リストやタプルを含む一連の部材が含まれています。
元の文字列内のサブ要素(辞書、リスト、セット)か否かを決定することである:
例えば:
(IN 'dkfljadklf hfjdkas様' 'のような')#Print
#Print( 'A'で'bcvd')
NOT IN #Print( 'Y' 'ofkjdslaf')
Pythonの演算子の優先順位
を次の表に示します高いものから最も低い優先度にすべてのオペレータ: