Python(四)異常処理とファイル読み書き

5527 ワード

Python(四)異常処理とファイル読み書き
例外処理
エラーと例外とは?
Python初心者としては、Pythonのプログラミングを習ったばかりの頃、エラーメッセージをよく見かけます.Pythonには2つのエラーがあります.文法エラーと異常です.
  • 異常
  • Pythonプログラムの構文が正しいとしても、実行中にエラーが発生する可能性があります.運転期間中に検出されたエラーを異常と呼びます.ほとんどの異常はプログラムで処理されず、エラーメッセージの形で表示されます.例外は異なるタイプで現れ、これらのタイプは情報の一部として印刷されます.例のタイプはZeroDivisionError、NameError、TypeErrorです.
    エラー情報の前の部分に異常が発生したコンテキストが表示され、呼び出しスタックとして具体的な情報が表示されます.
    スナップ例外はtry/except文を使用できます.try/except文は、try文ブロック内のエラーを検出し、except文に異常情報をキャプチャして処理させるために使用されます.異常発生時にプログラムを終了したくない場合はtryでキャプチャするだけです
    try:
    			#      
    except :
    			#   try       ,     
    except ,:
    			#   try       ,            
    else:
    			#        ,     
    

    try文ブロックで例外がトリガーされるかどうかにかかわらずfinally文の文ブロックが実行されるため、ファイルを閉じるか、システムエラーで正常に解放できないリソースを閉じるのに一般的に使用されます.例えば、ファイルを閉じる、ロックを解除する、データベース接続を接続プールに戻すなど
    try:
    	normal execution block
    except A:
    	exception A handle
    except B:
    	exception B handle
    except C:
    	exception C handle
    else:
    	if no exception get here
    finally:
    	print('finally')
    	
    try:
    	normal execution block
    except (A,B,C) as e:		# e           
    	exception e handle
    else:
    	if no exception get here
    finally:
    	print('finally')
    

    コードでは、raiseキーワードを使用して例外を定義できます.
    raise [Exception [, args [, traceback]]]
    
      :
    try:
    	name = input('      :')
    	if name.isdigit():
    		raise NameError('bad name!')
    except NameError as e:
    	print(e)
    

    まとめ
    1.except       ,finally        ,          ,     try    。
    
    2.except       ,Python  except               ,                 except  。
    
    3.except                 ,      。
    
    4.except             ,         ,     logging  sys        。
    
    5.             ,   raise,            。
    
    6.             ,         。
    
    7.                   ,             。
    
    8.                 try/except  ,  with  ,getattr()  。
    

    ファイルの読み書き
    なぜファイルの読み書きが必要なのですか?
    どの言語でも、ファイルの読み書きは非常に一般的です.pythonのファイルの読み書きは非常に簡単で、1つの関数openだけです.
    常用オープンモード:1、rは2、r+読み取り可能書き込み可能、存在しないファイルは作成されず、上部から書き込みが開始され、前のこの位置の内容3、w+読み取り可能書き込みが上書きされ、ファイルが存在する場合はファイル全体が上書きされ、存在しない場合は4、w書き込み可能、ファイル全体が上書きされ、存在しない場合は5、a書き込み可能となる.ファイルの下部からコンテンツを追加して存在しない場合は6、a+読み取り可能書き込み可能ファイルの上部からコンテンツを読み取り、ファイルの下部からコンテンツを追加して存在しない場合は注意を作成します:r+でファイルを書き込むことをお勧めしません.以前のファイルが不完全になります.
    file = open('D:\\test.txt')	#   r,    
    content = file.read()
    print(content)
    file.close()
    
      open                 close()  。     try/finally            。
        file = open('thefile.txt')
        try:
             all_the_text = file.read()
        finally:
             file.close()
     :   open    try  ,            ,    file    close()  。
    
       ,     
        input = open('data', 'r')		#        r
          
        input = open('data', 'rb')
    
    
    with open('D:\\test.txt','r+') as f,open('F:\\test.txt','r+') as d:
    content = f.read()
    print(content)
    with open        ,      close()  
    

    ファイルの読み込み方法
    file = open('thefile.txt')			
    
    content = file.read()				#      
    content_party = file.read(100)		#      
    content_oneline = file.readline()	#      
    content_all = file.readlines()		#       
    
    

    前は主にどのように書類を読みますか.では、書類を書くのはこのようにしますか.
    1.     
            output = open('data', 'w')
    2.      
    	 output = open('data', 'wb')
    3.     
            output = open('data', 'w+')
    4.   
    	 file_object = open('thefile.txt', 'w')
    	 file_object.write(all_the_text)
    	 file_object.close( )
    5.    
    	 file_object.writelines(list_of_text_strings)
      ,  writelines            write       。
    

    CSVファイルの読み込み
    カンマ区切り値(Comma-Separated Value、CSV、文字区切り値とも呼ばれる場合があります.区切り文字はカンマでなくてもよいためです).ファイルは表データ(数値とテキスト)をテキスト形式で格納します.
    CSVは一般的で比較的簡単なファイルフォーマットであり、ユーザー、商業、科学に広く応用されている.最も広範な応用は、プログラム間でテーブルデータを転送することであり、これらのプログラム自体は互換性のないフォーマット上で動作する(通常はプライベートおよび/または仕様のないフォーマットである).多くのプログラムが何らかのCSVバリエーションをサポートしているため、少なくとも1つの選択可能な入出力フォーマットとして機能している.
    特徴:
  • 純粋なテキストで、ASCII、Unicode、EBCDIC、GB 2312
  • などの文字セットを使用します.
  • は、記録からなる(典型的には、行ごとに1つの記録)
  • .
  • 各レコードは、区切り記号によってフィールドに区切られている(典型的な区切り記号にはカンマ、セミコロン、またはタブがあり、区切り記号にはオプションのスペースが含まれる場合がある)
  • .
  • レコードごとに同じフィールドシーケンスがあります.

  • CSVファイル規則:
    1       ,     。
    
    2        ,          。
    
    3        ,   。
    
    4      ( ,)    ,          。
    
    5           ( "),        ("")  ,      ( "")         。
    
    6        ,        。
    
    7       ,   ASCII、Unicode     。
    
    8        
    

    通常CSVファイルの先頭は空白を残さず、行為単位で、各行に1枚のピクチャの複数のデータを記録し、各データはカンマで分割される(英語のカンマ).一般に、集図用である.CSVファイル形式:ファイル名、ファイルサイズ(バイト単位)、CRCチェック値、コメント(省略可)
    コンピュータにMicrosoft Excelがインストールされている場合.CSVファイルのデフォルトはExcelで開かれています
    Python操作CSVファイル
       
    	import csv
    	csv_reader = csv.reader(open('D:/test.csv'))
    	for row in csv_reader:
    		print(row)
    
    	import csv	#    , with           file ,python3   file()    ,   open()
    	with open('D:/test.csv', 'rb') as f:
        reader = csv.reader(f)
        for row in reader:
            print(row)
    
       
       import csv
       list = ['1', '2','3','4','5']
       outfile = 'D:/test.csv'
       out = open(outfile, 'a')
       csv_writer = csv.writer(out)
       csv_writer.writerow(list)	       :                        
       out = open(outfile, 'a', newline='')
       csv_writer = csv.writer(out)
       csv_writer.writerow(list)