错误 - 多级文件夹内的 pypyodbc.win_create_mdb

Posted

技术标签:

【中文标题】错误 - 多级文件夹内的 pypyodbc.win_create_mdb【英文标题】:error - pypyodbc.win_create_mdb inside multi-levels folder 【发布时间】:2014-03-22 20:22:57 【问题描述】:
>>> pypyodbc.win_create_mdb('E:/Database/Japan/201112.mdb')

它对于双级工作正常,但是当我创建触发级文件夹错误时出现错误。你能给我遮光吗> 谢谢。 MS Access library for 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.

【问题讨论】:

【参考方案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' + '"')

【讨论】:

谢谢老兄,答案应该可行,但想知道为什么会出现语法错误... >>> import os >>> import pypyodbc >>> directory = 'E:/Database/Japan/ JLeague/' >>> 如果不是 os.path.exists(directory): ... os.makedirs(directory) ... pypyodbc.win_create_mdb(directory + '201112.mdb') 文件“”,第 3 行pypyodbc.win_create_mdb(directory + '201112.mdb') ^ SyntaxError: invalid syntax 它现在可以工作了,我尝试使用间距文件夹名称失败了。没有空格的文件夹名称是可行的。 @ケンジリュスケ 我已经更新了我的答案,以便在文件路径包含空格时它可以工作。

以上是关于错误 - 多级文件夹内的 pypyodbc.win_create_mdb的主要内容,如果未能解决你的问题,请参考以下文章

C++ 多级继承 - 调用基本构造函数错误

产生错误输出的多级静态嵌套类

scrapy xpath选择器多级选择错误

如何修复virtualenv中“太多级别的符号链接”错误?

Codeigniter:多级模型扩展不起作用。收到错误“找不到类”

Pandas 0.18.1 groupby 和多级聚合错误重新采样