Где находится папка .idlerc для Python IDLE на Mac?

Я ищу папку .idlerc для IDLE. Моя установка — Python 2.7.9 + Mac OSX El Capitan. Эта папка содержит файл «config-highlight.cfg» для применения новых пользовательских тем.


person marceee    schedule 03.02.2016    source источник


Ответы (1)


.idlerc должен находиться в вашем домашнем каталоге. Код для чтения и записи в каталоге находится в файле idlelib/configHandler.py, в «методе» GetUserCfgDir. Я скопировал его ниже, убрав бесполезный параметр self и добавив необходимые импорты.

import os, sys

def GetUserCfgDir():
    """Return a filesystem directory for storing user config files.

    Creates it if required.
    """
    cfgDir = '.idlerc'
    userDir = os.path.expanduser('~')
    if userDir != '~': # expanduser() found user home dir
        if not os.path.exists(userDir):
            warn = ('\n Warning: os.path.expanduser("~") points to\n ' +
                    userDir + ',\n but the path does not exist.')
            try:
                print(warn, file=sys.stderr)
            except OSError:
                pass
            userDir = '~'
    if userDir == "~": # still no path to home!
        # traditionally IDLE has defaulted to os.getcwd(), is this adequate?
        userDir = os.getcwd()
    userDir = os.path.join(userDir, cfgDir)
    if not os.path.exists(userDir):
        try:
            os.mkdir(userDir)
        except OSError:
            warn = ('\n Warning: unable to create user config directory\n' +
                    userDir + '\n Check path and permissions.\n Exiting!\n')
            print(warn, file=sys.stderr)
            raise SystemExit
    # TODO continue without userDIr instead of exit
    return userDir

print(GetUserCfgDir())

Я рассмотрю возможность добавления этой информации в диалоговое окно «Настройки». Но я также отмечу, что можно добавить тему, отредактировав существующую тему в диалоговом окне. Для версий 2.7.11, 3.4.4 и 3.5.1 в IDLE появилась новая темная тема, с которой можно начать. Чтобы упростить редактирование, мы планируем добавить простые средства изменения фона по умолчанию для всех элементов, которые его используют.

person Terry Jan Reedy    schedule 03.02.2016