#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, переменные поступают из пользовательского ввода.
Я не уверен в совместном использовании 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()