ホームページ >バックエンド開発 >Python チュートリアル >Pythonの例外とファイル処理の仕組みを詳しく解説
この記事の例では、Python の例外とファイル処理メカニズムについて説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
1 例外処理
Pythonでの例外の使用
試してみてください
を除いて
ついに
そして、excel の後に else を続けることもできます。
実際の Python プログラムの実行中に、スローされた例外が処理されない場合、Python IDE に赤い情報が表示され、プログラムが終了します。
これまでにいくつかの異常を確認しました:
使用されたキーが辞書に存在しない場合、KeyError 例外が発生します。例:
リーリー
リーリー
リーリー
強制を行わずにデータ型を混合すると、TypeError 例外が発生します。
ファイル操作エラーによる IOError など:
リーリー
上記のコードに注意してください:
tryExcept の後に else ステートメントを続けることができます。指定された例外がキャッチされなかった場合、else ステートメントが実行されます。
モジュールをインポートするとき、モジュールが存在しない場合、ImportError例外が発生します。独自の例外クラスを定義する場合は、組み込みの Exception クラスを継承させて、例外をスローする必要がある場合に raise を使用することもできます。
前に述べたように、open はファイルを開いてファイル オブジェクトを返すために使用できます。その関数宣言は次のとおりです。
リーリー 3 つのパラメータがあります (最後の 2 つはオプションです)。例:
リーリー
name 属性と mode 属性を使用してファイル オブジェクトをクエリできるようになりました。例:
ファイルを開いた後は、例:
の読み取りと書き込みが可能です。リーリー
現在地を確認
最初のパラメータはオフセット値です。2 番目のパラメータは 0.1.2 の 3 つの値をとり、それぞれ開始、現在位置、終了を表します。
検索されたアドレスが正しくない場合 (範囲を超えている場合など)、IOError 例外が発生します。リーリー
リーリー
ファイルの最後の 128 バイトを読み取り、読み取ったデータを文字列として返します。データを読み取るとき、ファイル ポインタも後方に移動します。
readのパラメータは、読み込む最大バイト数を示します。このパラメータは、ファイルの最後まで読み込むことを意味します。読み取り中にエラーが発生した場合(ディスク上の不良セクターやネットワークの切断など)、IOError例外が発生します。
ファイルが閉じられているかどうかを確認してください。
使用されなくなったファイルは閉じる必要があります。既に閉じられたファイルは再度閉じることができます (例外は発生しません)。
リーリーf を閉じた後に、seek() などの操作を実行すると、ValueError 例外が発生します。 ファイルの書き込み方法は読み取りと似ていますが、たとえば、次のようにファイルを開く必要があります。
リーリー
file() でファイルを開くことは、open() で開くことと同じなので、 print:
Python では、for はリストを走査するために使用されます。例:
これにより、ループ内で li の要素の値を順番に受け取ることができます。
1
23
この出力は print "n".joni(li) と同じです。 他の言語のように数えるために for を使いたい場合は、次の方法を使用できます:
リーリー辞書を調べるには for を次のように使用します。
上記の出力結果は print "n".join(["%d = %s" % (k, v) for k, v in d.items()]) と同じです。
4 sys.modules の使用
Python では、モジュールは sys モジュールで定義されるグローバル辞書オブジェクトです。
に見つかります。
すべてのクラスには、組み込みの「クラス属性」: __module__ があります。その値は、クラスを定義するモジュールの名前です。
リーリー
这个join函数用来将一个或多个字符串构造成一个路径名.
'c:\music\mahadeva.mp3' >>> os.path.expanduser("~")
expanduser函数用'~'作参数时. 返回当前用户根目录.
'c:\Documents and Settings\mpilgrim\My Documents'
>>> (filepath, filename) = os.path.split("c:\music\a.mp3")
split函数用来将一个路径名分成目录名和文件名. 它返回的是一个tuple. 用返回的tuple对(filepath, filename)赋值.
>>> filepath 'c:\music' >>> filename 'a.mp3' >>> (a, b) = os.path.splitext("a.mp3")
类似的. 这个splitext用来将一个全文件名分成 文件名 和 扩展名 两部分.
>>> a 'a' >>> b '.mp3'
列出目录用:
>>> os.listdir("c:\")
这个函数将返回一个字符串list. 包括所有的文件和文件夹的名字.
['boot.ini', 'CONFIG.SYS', 'AUTOEXEC.BAT', 'java', 等]
要判断一个字符串路径到底是一个文件还是一个文件夹. 用os.path模块中的 isfile() 或 isdir(). 如:
>>> [f for f in os.listdir("c:") if os.path.isdir(os.path.join("c:", f))]
这样就打印出c中所有文件夹名构成的list.
如果要在目录操作中使用通配符. 可以如下:
>>> import glob
要先导入 glob 模块
>>> glob.glob('c:\music\*.mp3')
则返回的list中包含了该目录下所有的 .mp3 后缀的文件名.
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。