こんにちは
python3 をこまかく学んでいきたい考えてます。
sys って実態はどこにあるのでしょうか?
import sys
とよく書きますが、同じフォルダー内にあると考えれられますがないです。
どうやって探しているのと
場所をおしえてください。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
sys
はビルトインモジュールであり、けっこう特殊な存在です。
python
1>>> import os 2>>> os 3<module 'os' from '/*****/lib/python3.6/os.py'> 4>>> import sys 5>>> sys 6<module 'sys' (built-in)> 7
普通のモジュールであれば対話的インタプリタで印字すると在り処が示されますが、sys
は(built-in)
と書いてあるだけです。
1つ注目に値するモジュールとして、 sys モジュールは、全ての Python インタープリターにビルトインされています。
6. モジュール — Python 3.8.2 ドキュメント
完全な Python プログラムは、最小限に初期化された環境: 全ての組み込み変数と標準モジュールが利用可能で、かつ
sys
(様々なシステムサービス)、builtins
(組み込み関数、例外、および None)、__main__
の 3 つを除く全てのモジュールが初期化されていない状態で動作します。
9. トップレベル要素 — Python 3.8.2 ドキュメント
ということで、直接該当する.pyファイルはない、が正解です。文字通り言語処理系に「埋め込まれて」いるはずです。
python3 をこまかく学んでいきたい考えてます。
そういう意図がある場合、まずは「言語リファレンス」を読まれるのが良いかと思います。基本的な言語仕様についてはこちらに記されています。
投稿2020/03/05 21:39
総合スコア30935
0
以下のように実行すると、sysはビルトインモジュールだとわかります。
>>> import sys >>> sys <module 'sys' (built-in)>
そして、pythonのモジュールはどこにあるかというと、sys.pathで
モジュールパスを表示させればわかります。
>>> pp.pprint(sys.path) [ '', '/Users/ユーザ名/.pyenv/versions/3.7.6/lib/python37.zip', '/Users/ユーザ名/.pyenv/versions/3.7.6/lib/python3.7', '/Users/ユーザ名/.pyenv/versions/3.7.6/lib/python3.7/lib-dynload', '/Users/ユーザ名/.local/lib/python3.7/site-packages', '/Users/ユーザ名/.pyenv/versions/3.7.6/lib/python3.7/site-packages'] >>>
ビルトインモジュールはpython37.zipの中にあることになります。
モジュールをimportする時、探す順番は最初はカレントディレクトリで、
ビルトインモジュールは2番目ですね。
ビルトインモジュールはPythonインタープリターにビルトインされています。
他のモジュールはimportするときsys.pathの順番に探します。
投稿2020/03/05 14:57
編集2020/03/05 15:58総合スコア7337
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/05 15:34
2020/03/08 02:27 編集
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/06 12:24