如何为同目录下的MS Access数据库创建Python连接相对路径?
解决Python用相对路径连接Access数据库的问题
直接写相对路径容易踩坑,因为Python的工作目录不一定是你的脚本所在文件夹——比如你从别的目录运行脚本时,相对路径就会指向错误的位置。正确的做法是基于脚本文件的位置来构建数据库路径,下面给两种实用的解决方法:
方法一:使用os模块(兼容所有Python版本)
import os import pyodbc # 获取当前脚本所在的绝对目录 script_folder = os.path.dirname(os.path.abspath(__file__)) # 拼接数据库文件的完整路径 db_full_path = os.path.join(script_folder, "Database.accdb") # 建立连接 conn = pyodbc.connect(f'Driver={{Microsoft Access Driver (*.mdb, *.accdb)}};DBQ={db_full_path};')
方法二:使用pathlib模块(Python3.4+更简洁)
from pathlib import Path import pyodbc # 获取脚本所在目录的Path对象 script_folder = Path(__file__).parent # 拼接数据库路径(Path对象支持直接用/拼接) db_full_path = script_folder / "Database.accdb" # 转成字符串传入连接参数 conn = pyodbc.connect(f'Driver={{Microsoft Access Driver (*.mdb, *.accdb)}};DBQ={str(db_full_path)};')
额外注意事项
- 确保你的Python版本(32/64位)和安装的Access驱动版本完全匹配,否则会提示找不到驱动或者路径无效
- 数据库文件名尽量不要带空格、中文或特殊字符,避免路径解析出错
内容的提问来源于stack exchange,提问作者Joshua Johnson
相关产品推荐
相关产品推荐

