1. ホーム
  2. python

[解決済み] Python ファイルに長い定数リストをインポートする

2022-11-15 01:25:28

質問

Python で C のようなプリプロセッサー文はありますか?

#define MY_CONSTANT 50

また、私はいくつかのクラスにインポートしたい定数の大きなリストを持っています。このような定数を、上記のような一連のステートメントとして .py ファイルに宣言し、それを別の .py ファイルにインポートできますか?

編集してください。

ファイルの Constants.py は読み取ります。

#!/usr/bin/env python
# encoding: utf-8
"""
Constants.py
"""

MY_CONSTANT_ONE = 50
MY_CONSTANT_TWO = 51

そして myExample.py を読み取ります。

#!/usr/bin/env python
# encoding: utf-8
"""
myExample.py
"""

import sys
import os

import Constants

class myExample:
    def __init__(self):
        self.someValueOne = Constants.MY_CONSTANT_ONE + 1
        self.someValueTwo = Constants.MY_CONSTANT_TWO + 1

if __name__ == '__main__':
    x = MyClass()

編集する

コンパイラから

NameError: "グローバル名 'MY_CONSTANT_ONE' は定義されていません"

機能 init in myExample at line 13 self.someValueOne = 定数.MY_CONSTANT_ONE + 1 コピー 出力 プログラムはコード#1 で終了 0.06秒後に1番のコードで終了しました。

どのように解決するのですか?

Pythonは前処理をしません。ただ、ファイル myconstants.py :

MY_CONSTANT = 50

で、インポートするとそのまま動きます。

import myconstants
print myconstants.MY_CONSTANT * 2