14

私は学習モードに入っています --- これはおそらくばかげた質問または rtfm の質問ですが、ここにあります: Python os ライブラリのソース コードはどこにありますか? Python tarball をダウンロードしました。そこには多くの使用法がありますが、ソースコード自体と、それが OS にどのように接続されているかを見つけることができないようです。os.* 呼び出し (例: os.read、os.write...) に対して何が行われたかを知りたいと思っています。*ビルトイン* ファイルを調べましたが、そこには何もありませんでした。ヒントをありがとう。

4

2 に答える 2

20

osの実装は、多数のファイルに散らばっています。

コア C 関数はほとんどModules/posixmodule.cにあり、その名前にもかかわらず、POSIX ルーチンに加えて、Windows NT および OS/2 の OS ルーチンの実装が含まれています。

C 関数のラッパーはLib/os.pyにあり、os.path関数はプラットフォームに応じて Lib /ntpath.pyまたはLib/posixpath.pyによって提供されます。

于 2013-01-30T20:45:00.117 に答える
4

__file__モジュールが Python コードで定義されている場合、インポート後にモジュールの属性を調べることでファイルを見つけることができます。

>>> import os
>>> os.__file__
'C:\\python27\\lib\\os.pyc'

ファイルが .pyc の場合は、最後の 'c' を削除して .py ファイルを取得します。

ただし、探している関数は、実際にはコンパイル済みの C 拡張機能からインポートされている可能性があります。

于 2013-01-30T20:38:38.183 に答える