Python:全局变量的两个输入源

时间:2018-08-02 16:47:10

标签: python input global-variables config

#program_1
import Config_User

country_code = Config_User.country_code
state_code = Config_User.state_code

<main code....>


#program_2
country_code = input("Enter Country Code:  ")
state_code = input("Enter State Code:  ")

<insert code here that runs program_1, and takes variables country_code and 
 state_code from user_input from program_2 as opposed to variables in Config_User>

我正在寻找解决上述问题的方法。在program_1中,用户在配置文件中输入变量,然后将这些变量作为全局变量提取。但是,如果用户选择运行program_2,则程序会要求他们输入country_code和state_code,而program_1将使用用户从program_2指定的变量而不是配置文件中的变量来运行。

这可以归结为:我可以有两个不同的全局变量源吗?如果用户运行program_1,则变量来自配置文件。如果用户运行program_2,则变量来自用户输入。

1 个答案:

答案 0 :(得分:1)

我不确定要在多个模块之间共享Global Variable,但是如何使用static variable

config_user.py

class ConfigUser(object):
    country_code = "USA000"
    state_code = "CAL0001"

从config_user导入ConfigUser

prog1.py

def main():
    print ConfigUser.country_code
    print ConfigUser.state_code


if __name__ == '__main__':
 main()

prog2.py

from config_user import ConfigUser
from prog1 import main


if __name__ == '__main__':
    ConfigUser.country_code = raw_input("Enter Country Code:  ")
    ConfigUser.state_code = raw_input("Enter State Code:  ")
    main()