Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 3, 2018 00:20:02

VIRTOK
Зарегистрирован: 2017-10-23
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с configparser , подключить модуля отдельным пакетом

1 Задача подключить файл конфигурации отдельным модулем
Файл star.py

 from Pak import ConfigINI
#Подключаем файл конфигугации
#======================================================================================================
#Подключаем файл конфигугации
config = ConfigINI.loadConfig()
#Загружаем из файла конфигурации переменные
#[Sert]
Login = config['login']
passw = config['passw']
#===================================================================================================
print ("login: "+Login)
print("Password: "+passw)

В папке Pak лежит файл ConfigINI

 import os
import configparser
LocalDir = os.getcwd() # Путь к локальной директории
def loadConfig():
    config = configparser.ConfigParser()
    config.read("config.ini")
    #config.read(str(LocalDir+"\\config.ini"))
    login = config.get('connect','login')
    passw = config.get('connect','passw')
    return {'login':login,'passw':passw}
и файл config.ini
 [connect]
login = TestUser
passw = 123456

Вывод не работает программа , если использовать другие функции и модули все хорошо

Офлайн

#2 Ноя. 3, 2018 00:24:23

VIRTOK
Зарегистрирован: 2017-10-23
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с configparser , подключить модуля отдельным пакетом

пример программы

Прикреплённый файлы:
attachment Start.zip (934 байта)

Офлайн

#3 Ноя. 3, 2018 06:56:35

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Работа с configparser , подключить модуля отдельным пакетом

VIRTOK
Вывод не работает программа
Очень хорошо. И как она не работает? Как мы должны об этом догадаться?
Подсказка-гипотеза.
VIRTOK
В папке Pak лежит файл ConfigINI
VIRTOK
LocalDir = os.getcwd() # Путь к локальной директории
Вы понимаете что Pak и LocalDir разные никак не связанные между собой папки?



Офлайн

#4 Ноя. 5, 2018 13:08:27

VIRTOK
Зарегистрирован: 2017-10-23
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с configparser , подключить модуля отдельным пакетом

Задача решена , спасибо

1.Создаем файл start.py

 import os
from Pak import Config
LocalDir = str(os.getcwd()) # Путь к локальной директории
T = Config.get_setting("settings.ini", "Settings", "font")
print (T)
2.Создаем папку Pak ,в папке создаем файл Config.py
 import configparser
import os
LocalDir = str(os.getcwd()) # Путь к локальной директории
def create_config(path):
    """
    Create a config file
    """
    config = configparser.ConfigParser()
    config.add_section("Settings")
    config.set("Settings", "font", "Courier")
    config.set("Settings", "font_size", "10")
    config.set("Settings", "font_style", "Normal")
    config.set("Settings", "font_info","You are using %(font)s at %(font_size)s pt")
    with open(path, "w") as config_file:
        config.write(config_file)
def get_config(path):
    """
    Returns the config object
    """
    if not os.path.exists(path):
        create_config(path)
    config = configparser.ConfigParser()
    config.read(path)
    return config
def get_setting(path, section, setting):
    """
    Print out a setting
    """
    config = get_config(path)
    value = config.get(section, setting)
    msg = "{section} {setting} is {value}".format(
        section=section, setting=setting, value=value
    )
    #print(msg)
    return value
def update_setting(path, section, setting, value):
    """
    Update a setting
    """
    config = get_config(path)
    config.set(section, setting, value)
    with open(path, "w") as config_file:
        config.write(config_file)
def delete_setting(path, section, setting):
    """
    Delete a setting
    """
    config = get_config(path)
    config.remove_option(section, setting)
    with open(path, "w") as config_file:
        config.write(config_file)
if __name__ == "__main__":
    path = "settings.ini"
    font = get_setting(path, 'Settings', 'font')
    font_size = get_setting(path, 'Settings', 'font_size')
    update_setting(path, "Settings", "font_size", "12")
    delete_setting(path, "Settings", "font_style")

3. доп ифо в https://python-scripts.com/configparser-python-example

Отредактировано VIRTOK (Ноя. 5, 2018 13:09:01)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version