Python Filepath с пробелами в файле конфигурации - PullRequest
0 голосов
/ 05 мая 2018

У меня есть файл конфигурации, который я читаю с ConfigParser. Одним из значений является путь к файлу, содержащий пробелы в пути:

[Configuration]
mysqldumpexecutable_location = C:/Program Files (x86)/MySQL/MySQL Server 5.7/bin/

Кажется, что значение, возвращаемое с помощью get () для этого параметра, составляет только "C: / Program" - до пробела.

Вот соответствующий код:

import os
import time
import datetime
import configparser

def BackupDB():

    try:
        config = configparser.RawConfigParser()
        config.read(r"etc\configuration.txt")
        DB_HOST = config.get('Configuration', 'db_host')
        DB_USER = config.get('Configuration', 'db_username')
        DB_USER_PASSWORD = config.get('Configuration', 'db_password')
        #DB_NAME = '/backup/dbnames.txt'
        DB_NAME = config.get('Configuration', 'db_schema')
        BACKUP_PATH = config.get('Configuration', 'backup_path')
        MYSQLDUMP_LOCATION = config.get('Configuration', 'mysqldumpexecutable_location')

        DATETIME = time.strftime('%d%m%Y-%H%M%S')
        TODAYBACKUPPATH = BACKUP_PATH + DATETIME
        db = DB_NAME

        dumpcmd = MYSQLDUMP_LOCATION + "mysqldump -u " + DB_USER + " -p" + DB_USER_PASSWORD + " " + db + " > " + TODAYBACKUPPATH + "/" + db + ".sql"
        os.system(dumpcmd)
    except Exception as e:
        print("something here")
        return None

Я получаю эту ошибку: «c: / Program» не распознается как внутренняя или внешняя команда, работающая программа или командный файл.

Как правильно передать этот путь Windows?

Спасибо!

...