python学習3週目のファイルの読み取りと書き込み
2019 ワード
1.まずpycharmにtxtドキュメントを新規作成し、内容を書き込むには、コードを使用して操作します.
2.ファイルを開くには閉じる必要があります.以下のように、ファイルを開くにはopen、windowsでファイルを開くにはgbk、pythonではutf-8、utf-8で開くことを指定する必要があります.ファイルを操作する必要がある場合は、ファイルメモリオブジェクトに変数を付与する必要があります.その後、fを付与するなど、変数操作を行うだけです.
(1)以上のモードは、r,w,aであってもよい.rであれば、読み取るしかありません.複数回の読み取りが次のように書かれている場合:ファイルの読み取りは最初の行から始まり、最後の行に読み込まれた後、1回の読み取りが完了するため、再度の読み取りの場合、現在の位置から読み取りが開始されるため、読み取りができない
(2)wの場合、同じ名前のファイルを作成し、元のファイルを上書きすることに相当するが、読み取れず、出力されない.以下のように、元のファイルが上書きされ、ファイル内の内容が書き込まれた内容になります.
(3)aはappend,すなわち追加,直接元のファイルの後に追加するが,読み取ることができず,上書きしない.
3.ファイル内の循環の使用:
(1)print(f.readline()などのファイルの各行を読み出し、2行を出力する場合は2回書く必要がある.このときforループを使用できます.以下のようにします.
(2)readlines()はファイルをリスト形式で出力し、各動作の要素はprint(f.readlines()を使用して検証できるので、readlines()を使用してドキュメント全体を出力できます.
(3)ある行を出力したくない場合は、その行の下付きを見つけて、ある行を出力しないようにすることができます.
ローが出力されないようにするには、メモリにローを1つだけ保存する方法もあります.インデックスがない場合は、カウンタを使用します.
2.ファイルを開くには閉じる必要があります.以下のように、ファイルを開くにはopen、windowsでファイルを開くにはgbk、pythonではutf-8、utf-8で開くことを指定する必要があります.ファイルを操作する必要がある場合は、ファイルメモリオブジェクトに変数を付与する必要があります.その後、fを付与するなど、変数操作を行うだけです.
f=open("perfect2",'w',encoding="utf-8")# , , 、 、 、 ,
f.close()
(1)以上のモードは、r,w,aであってもよい.rであれば、読み取るしかありません.複数回の読み取りが次のように書かれている場合:ファイルの読み取りは最初の行から始まり、最後の行に読み込まれた後、1回の読み取りが完了するため、再度の読み取りの場合、現在の位置から読み取りが開始されるため、読み取りができない
data=f.read() # , , , , ,
print(data)
(2)wの場合、同じ名前のファイルを作成し、元のファイルを上書きすることに相当するが、読み取れず、出力されない.以下のように、元のファイルが上書きされ、ファイル内の内容が書き込まれた内容になります.
f=open("perfect",'w',encoding="utf-8")
f.write(" ,
")
f.close()
(3)aはappend,すなわち追加,直接元のファイルの後に追加するが,読み取ることができず,上書きしない.
f=open("perfect",'a',encoding="utf-8")
f.write(" 。
")
3.ファイル内の循環の使用:
(1)print(f.readline()などのファイルの各行を読み出し、2行を出力する場合は2回書く必要がある.このときforループを使用できます.以下のようにします.
for i in range(5):
print(f.readline())
(2)readlines()はファイルをリスト形式で出力し、各動作の要素はprint(f.readlines()を使用して検証できるので、readlines()を使用してドキュメント全体を出力できます.
for line in f.readlines():
print(line.strip()) #strip
(3)ある行を出力したくない場合は、その行の下付きを見つけて、ある行を出力しないようにすることができます.
for index,line in enumerate(f.readlines()):
if index==9: # 10
print('----- -----')
continue
print(line.strip()) # strip
ローが出力されないようにするには、メモリにローを1つだけ保存する方法もあります.インデックスがない場合は、カウンタを使用します.
f=open("perfect2",'r',encoding="utf-8")
count=0
for line in f:
if count == 9: # 10
print('----- -----')
count += 1
continue
print(line) # , ;
count += 1
f.close()