Pythonファイル操作の基本的なプロセス分析

1.ファイル操作プロセス

1、 ファイルを開く

open('C:\a.txt\nb\c\d.txt')

解決策1:推奨

open(r'C:\a.txt\nb\c\d.txt')

解決策2:

open('C:/a.txt/nb/c/d.txt')

f = open(r'aaa / a.txt '、mode =' rt ')#fの値は変数であり、アプリケーションのメモリスペースを占有します

2、 操作ファイル:

ファイルを読み書きするために、ファイルに対するアプリケーションの読み取りおよび書き込み要求はすべてオペレーティングシステムにシステム呼び出しを送信し、オペレーティングシステムはハードディスクを制御して入力をメモリに読み取ったり、ハードディスクに書き込んだりします。

res=f.read()

3、 ファイルを閉じる

f.close()#オペレーティングシステムリソースをリサイクルする

f.read()#変数fは存在しますが、読み取ることができなくなりました

2.リソース管理とコンテキスト管理

ファイルを開くには、アプリケーションの変数fとオペレーティングシステムによって開かれるファイルの2つのリソース部分が含まれます。

ファイルを操作した後、これら2つの部分のリソースをリサイクルする必要があります

通常、リサイクルには2つの方法があります。

1 f.close()#オペレーティングシステムによって開かれたファイルリソースを回復する

2 del f#アプリケーションリソースをリサイクルする

その中で、del fはf.close()の後に発生する必要があります。そうしないと、オペレーティングシステムによって開かれたファイルを閉じることができません。

Pythonのガベージコレクションメカニズムでは、del fが順不同であると見なすことができるため、fclose()は操作の後に実行する必要があることを覚えておく必要があります。

しかし、私たちは怠惰または忘れているので、pythonにはコンテキストの管理に役立つwithキーワードがあります。

  1. with open(‘a.txt’,mode=’rt’) as f1:# f1=open(‘a.txt’,mode=’rt’)

pass

  1. with open(‘a.txt’,mode=’rt’) as f1,\

open(‘b.txt’,mode=’rt’) as f2:

res1=f1.read()

res2=f2.read()

print(res1)

3.ファイル操作モード

ファイルの読み取りおよび書き込み操作のモードは次のとおりです。

ファイルの内容の読み取りと書き込みのモードは次のとおりです。

tテキストモード:1。ファイルの読み取りと書き込みはすべて文字列に基づいています

2.テキストファイルのみ

3.エンコーディングパラメータを定式化する必要があります

bバイナリモード:1。ファイルの読み取りと書き込みはすべてバイトに基づいています

2.すべてのファイルをターゲットにできます

3.エンコーディングパラメータを作成してはなりません

強調:tとbは単独で使用することはできず、r / w / aと組み合わせて使用する必要があります

各モードのリファレンスケース

1、 r(デフォルトの動作モード):

読み取り専用モード。ファイルが存在しない場合はエラーを報告し、ファイルが存在する場合はファイルポインタが開始位置にジャンプします。

withopen('c.txt',mode='rt',encoding='utf-8')as f:print('初めて読む'.center(50,'*'))
 res=f.read() #ハードディスクからメモリにすべてを読み取ります
 print(res)withopen('c.txt', mode='rt', encoding='utf-8')as f:print('2回目の読書'.center(50,'*'))
 res1=f.read()print(res1)

ユーザー認証機能を実現

 inp_username=input('your name  : ').strip()
 inp_password=input('your password  : ').strip()withopen('user.txt',mode='rt',encoding='utf-8')as f:for line in f:
  # print(line,end='') # egon:123\n
  username,password=line.strip().split(':') #割り当てを圧縮し、ファイル内のユーザー名とパスワードを取り出します
  if inp_username == username and inp_password == password:print('login successfull')breakelse:print('ユーザーネームまたはパスワードが違います')

アプリケーション====》ファイル

アプリケーション====》データベース管理ソフトウェア=====》ファイル

2、 w:書き込み専用モード。ファイルが存在しない場合は空のファイルが作成され、ファイルが存在する場合はファイルがクリアされ、ポインタが先頭になります。

withopen('d.txt',mode='wt',encoding='utf-8')as f:
# f.read() #エラー、判読不能
# f.write('チャレ\n') 
# 強調1:
# ファイルがwモードで開かれているが、閉じられていない連続書き込みの場合、新しいコンテンツは常に古いコンテンツに従います。
# withopen('d.txt',mode='wt',encoding='utf-8')as f:
# f.write('チャレ1\n')
# f.write('チャレ2\n')
# f.write('チャレ3\n')
# 強調2:
# wモードでファイルを再度開くと、ファイルの内容がクリアされます
# withopen('d.txt',mode='wt',encoding='utf-8')as f:
# f.write('チャレ1\n')
# withopen('d.txt',mode='wt',encoding='utf-8')as f:
# f.write('チャレ2\n')
# withopen('d.txt',mode='wt',encoding='utf-8')as f:
# f.write('チャレ3\n')

ケース:wモードを使用して新しいファイルを作成します

ファイルコピーツール

ファイルを読み取り、別のファイルを書き込み、読み取りを書き込みにコピーするだけです。

# src_file=input('ソースファイルのパス: ').strip()
# dst_file=input('ターゲットファイルパス: ').strip()
# withopen(r'{}'.format(src_file),mode='rt',encoding='utf-8')as f1,\
# open(r'{}'.format(dst_file),mode='wt',encoding='utf-8')as f2:
# res=f1.read()
# f2.write(res)

3、 a:書き込みを追加するだけで、ファイルが存在しない場合は空のドキュメントが作成され、ファイルが存在する場合はファイルポインタが最後に直接調整されます。

withopen('e.txt',mode='at',encoding='utf-8')as f:
 # f.read() #エラーを報告し、読み取ることができません
 f.write('1\n')
 f.write('2\n')
 f.write('3\n')

wモードとモードの類似点と相違点を強調します。

1 同じ点:開いているファイルが閉じられていない場合は、継続的に書き込みます。新しく書き込まれたコンテンツは、常に以前に書き込まれたコンテンツに従います。

2 違い:モードでファイルを再度開くと、元のファイルコンテンツはクリアされませんが、ファイルポインターがファイルの最後に直接移動し、新しく書き込まれたコンテンツは常に最後に書き込まれます。

ケース:モードは、ロギングや登録など、元のファイルメモリに基づいて新しいコンテンツを書き込むために使用されます

登録機能

 name=input('your name  : ')
 pwd=input('your name  : ')withopen('db.txt',mode='at',encoding='utf-8')as f:
 f.write('{}:{}\n'.format(name,pwd))

理解する:+は単独では使用できず、r、w、aと協力する必要があります

r +、w +、a +:読み取りと書き込み

以上が本稿の内容ですので、皆様のご勉強に役立てていただければ幸いです。

Recommended Posts

Pythonファイル操作の基本的なプロセス分析
Pythonファイル操作
クイックスタートPythonファイル操作
PythonはMatlabコマンドプロセス分析を使用します
Pythonタートルライブラリ実装の基本的な分析
Pythonプロセスとスレッドの要約ケース分析
Pythonファイルとディレクトリの操作コードの概要
Python置換ピップソースメソッドプロセス分析
Pythonプロセスとスレッドの要約ケース分析
Pythonの基本構文(1)
Python3の基本構文
python_ファイル処理
Pythonの基本的な要約
Pythonデータ分析
python操作kafka
Pythonの基本的な演算子
Python操作の一般的なメソッドの分析Jiraライブラリ
Python関数の基礎学習
Python線形補間分析
Python操作SQLiteデータベース
python_クローラーの基本的な学習
Pythonの基本的なデータタイプ
Pythonの基本構文
Pythonの基礎知識(1)
Python操作yaml命令
Pythonの基本的なデータタイプ
Pythonプロセスプール:multiprocessing.pool
Pythonの基本的な構文の反復
Python操作Excelマージセル
Centos7ファイアウォールファイアウォールの基本操作
wavファイルのPython分析
Python基礎知識質問バンク
Pythonの負の弾性率の操作例
PythonはTCPファイル転送を実装します
Python3クローラーデータクリーニング分析
PythonクローラーのJSの分析
Pythonの基本的な構文リストの作成
Pythonサンドボックスエスケープの分析
Pythonトルネードアップロードファイル機能
Pythonの自動操作とメンテナンス1
Pythonの基本的な描画チュートリアル(2つ)
Pythonオブジェクト指向プログラミングの分析
Pythonデータサイエンス:関連分析