ошибка - pypyodbc.win_create_mdb внутри многоуровневой папки

>>> pypyodbc.win_create_mdb('E:/Database/Japan/201112.mdb')

Он отлично работает для двухуровневых, но возникает ошибка, когда я создаю ошибку папок на уровне триппера. Не могли бы вы затенить меня светом? Спасибо. Библиотека MS Access для Python

>>> import pypyodbc    
>>> pypyodbc.win_create_mdb('E:/Database/Japan/JLeague/201112.mdb')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Anaconda\lib\site-packages\pypyodbc-1.3.1-py2.7.egg\pypyodbc.py", line 2715, in win_create_mdb
    raise Exception('Failed to create Access mdb file - "%s". Please check file path, permission and Access driver readiness.' %mdb_path)
Exception: Failed to create Access mdb file - "E:/Database/Japan/JLeague/201112.mdb". Please check file path, permission and Access driver readiness.

person ケンジ リュスケ    schedule 22.03.2014    source источник


Ответы (1)


win_create_mdb не будет автоматически создавать каталог, если он еще не существует, поэтому вам нужно проверить это и, возможно, создать каталог самостоятельно, прежде чем пытаться создать в нем файл базы данных. Попробуйте что-нибудь вроде этого

# -*- coding: utf-8 -*-
import os
import pypyodbc
directory = 'E:/Database/Japan/J League/'
if not os.path.exists(directory):
    os.makedirs(directory)
pypyodbc.win_create_mdb('"' + directory + '201112.mdb' + '"')
person Gord Thompson    schedule 22.03.2014
comment
Спасибо, чувак, ответ должен быть работоспособным, но интересно, почему возникает синтаксическая ошибка ... ››› import os ››› import pypyodbc ››› directory = 'E:/Database/Japan/JLeague/' ››› если нет os.path.exists(каталог): ... os.makedirs(каталог) ... pypyodbc.win_create_mdb(каталог + '201112.mdb') Файл ‹stdin›, строка 3 pypyodbc.win_create_mdb(каталог + '201112.mdb ') ^ SyntaxError: неверный синтаксис - person ケンジ リュスケ; 23.03.2014
comment
теперь это работает, я попытался использовать имя папки с интервалом, но не удалось. имя папки без пробела допустимо. - person ケンジ リュスケ; 24.03.2014
comment
@ ケ ン ジ リ ュ ス ケ Я обновил свой ответ, чтобы он работал, когда путь к файлу содержит пробелы. - person Gord Thompson; 24.03.2014