По началу может показаться что вот так:
os.environ['DEBUG']='FALSE'
os.environ.get('DEBUG')
del os.environ.get('DEBUG')
Но если присмотреться, то можно понять, что это все таки переменные среды Python. Так как через "Панель управления" --> "Свойства системы" --> "Переменные среды" их не видно. Так как все таки получить доступ к системным переменным или переменным пользователя?
Примечание: что хочу сделать - запускаю некий скрипт (условно test.py), который имеет CLI командами вида:
python test.py --no-debug initdb
python test.py --debug initd
А далее ввод ключей "--debug" и "--no-debug" по условия ТЗ вводится не должен. Должно подхватывать с переменной
Само CLI примерно такое (куски с переменной)
if "DEBUG" not in os.environ:
os.environ["DEBUG"] = "FALSE"
print('debug mode is off')
def logging(s):
if s=='FALSE': return False
if s=='TRUE': return True
@click.group()
@click.option('--no-debug', is_flag=True)
@click.option('--debug', is_flag=True)
def main(no_debug, debug):
if no_debug:
os.environ["DEBUG"] = "FALSE"
print('debug mode is off')
if debug:
os.environ["DEBUG"] = "TRUE"
print('debug mode is on')
@click.command()
@click.option('--name')
def initdb(name):
---------------------------------
if logging(os.environ.get('DEBUG')):
log.write(f'initialization {name} database....\n')
@click.command()
@click.option('--name')
def dropdb(name):
---------------------------------
if logging(os.environ.get('DEBUG')):
log.write(f'dropping {name} database....\n')
Но видимо так как интерпретатор на каждый сеанс запускается заново, то его переменные теряются, поэтому и нужны системные