Python: два источника ввода для глобальных переменных

1
#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>

Я искал какой-то путь вокруг проблемы выше. В программе_1 пользователи вводят переменные в файле конфигурации, а затем получают их как глобальные переменные. Однако, если пользователи предпочитают запускать program_2, программа запрашивает их для ввода для country_code и state_code, а program_1 работает с переменными, указанными пользователями из program_2, а не переменными в файле конфигурации.

Это сводится к следующему: могу ли я иметь два разных источника глобальных переменных? Если пользователи запускают program_1, переменные поступают из файла конфигурации. Если пользователи запускают program_2, переменные поступают из пользовательского ввода.

Теги:
input
config
global-variables

1 ответ

1

Я не уверен в совместном использовании Global Variable в нескольких расписаниях, но как насчет использования static variable?

config_user.py

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

из config_user import 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()
  • 0
    Это на самом деле не решило проблему. Это все еще делает две отдельные программы, и я хочу только одну. Но я нашел способ обойти эту проблему самостоятельно. Благодарю.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню