0

INI 設定ファイルをいくつかの場所 ( /usr/share/usr/local/share~/.local/share、および現在のディレクトリ) で探すツールを作成しました。

c = ConfigParser.RawConfigParser()
filenames = ['/usr/share/myconfig.conf',
             '/usr/local/share/myconfig.conf',
             os.path.expanduser('~/.local/share/myconfig.conf'),
             os.path.expanduser('./myconfig.conf')]
parsed_names = c.read(filenames)
for name in parsed_names:
    print 'using configuration file: ' + name

virtualenv の使用を開始しましたが、setup.pyスクリプトが にインストールmyconfig.confされるようになりまし/path/to/virtual/env/share/た。virtualenv へのパスが毎回異なる場合、このパスを ConfigParser によって検索されるパスのリストに追加するにはどうすればよいですか? また、virtualenv にインストールした場合でも、システム/usr/share/usr/local/shareディレクトリを検索する必要がありますか?

4

1 に答える 1

1

venv共有パスを取得できるはずです

os.path.join(sys.prefix, 'share', 'myconfig.conf')

含める/usr/share/usr/local/shareどうかは、アプリケーションによって異なります。また、異なるユーザーによる複数のインストールが、グローバル マシン設定によって利益を得る可能性が高いか、または害を受ける可能性が高いかどうかに依存します。上記のコードを'/usr/share/myconfig.conf'使用すると、システム python を使用するときにインクルードされるため、明示的にインクルードしない方がおそらく安全です。

于 2010-10-21T14:51:20.763 に答える