は、私はこのコードを書いた:差別地元の輸入は
import os
import helpers
を、すぐに私は私がこれを読んだとき、後でhelpers
は私が書かれているシステムモジュールまたは1であれば、私は不思議に思われるだろうことに気づきましたプロジェクトのディレクトリに置く(私はそれほど覚えていない!:))。
os
はシステムモジュールであり、helpers
は私のプロジェクトに含まれています。私はその旨のコメントを書くことができましたが、それは素晴らしいことではありません。他の言語は、この対処方法
:Cで
を++プロジェクト相対含まれている間、システムが含まれるが
<>
に囲まれているため、問題は存在しませんが""
に囲まれています。この問題に対するC#の解決策は、現在のプロジェクト内のファイルに定義されている機能には、インポートステートメントなしでアクセスできるということです。
編集:私は、プロジェクトローカルモジュールをインポートするためのfrom . import someModule
構文を紹介a related PEPを見つけました。私はそれを試してみるつもりです。しかしそれだけでは不十分です。システムモジュールをインポートするために、私はまだ汎用のimport blah
構文しか持っていません。
言語に固有の仕組みが必要なのかどうかわかりません。しかし、あなたは 'sys.path'を操作し、インストールされたパッケージかプロジェクト特有のパッケージからのみインポートするコンテキストマネージャを書くことができます。これは可読性に役立ちますが、保守性はPITAになります。 – SuperSaiyan