私はPythonの新機能です。私はこのpythonスクリプトからいくつかのデータを読むために他のプロジェクトによってアクセスされるいくつかのpythonスクリプトを持っています。なぜpythonのプロパティファイルから読み取られた値が機能しないのですか
過去: このPythonスクリプトから他のプロジェクトのバージョン情報を提供する必要があるとすると、私はハードコードされたクラス変数を持っていました。
Now: バージョン情報を提供する方法を変更して、ハードコードの代わりにプロパティファイルを読むことにしました。私は以前にそれが今、私は私のversion.propertiesファイルが
[global]
version= 1.2
のように見えます
class Myclass
config = ConfigParser.RawConfigParser()
config.read('version.properties')
version = config.get('global', 'version')
print version
にそれを変更するだけで、このライン
class Myclass
version = '1.2'
だった私のスクリプトで
をこれらの行を追加しました
このpythonファイルを実行してバージョンを印刷すると、コンソールにはっきりと表示されます。しかし、この変数がその他のプロジェクトによってアクセスされているとき、プロパティファイルから読み込まれたバージョンは読み込まれません(ハードコードされた値はうまく機能します)。
どのような違いがありますか?プロパティファイルから読み取った値が反映されないのはなぜですか?
このコードは 'version.properties'ファイルを検索します。他のプロジェクトは別のディレクトリから実行されますか? –
はいこのスクリプトにアクセスする他のプロジェクトは別のディレクトリにありますが、プロパティファイルはスクリプトと同じディレクトリです。これは正しいものですか? – Deepak
いいえ。あなたのコードは、現在の作業ディレクトリにあります。これは、他のプロジェクトが実行されたディレクトリになります。 –