主页 > 创业  > 

Pythonimport机制与文件路径问题解析

Pythonimport机制与文件路径问题解析

Python import 机制与文件路径问题解析 问题描述原因分析:解决方案:


今天在开发过程中,遇到一个路径文件,排查了一个多小时。。。 import 的路径问题,尤其是在不同模块之间调用时,可能会因为 相对路径错误 。

问题描述

目录结构:

Users/lpp/workspace/DevProject/04LLM应用开发学习/04 ReAct Agent/03 智能客服/ │── agentExecutor.py # 主程序 └── tools/ └── query_products_from_db.py # 查询数据库的模块 └── SportsEquipment.db # SQLite 数据库文件

query_products_from_db.py 代码如下:

import sqlite3 def query_by_product_name(product_name): conn = sqlite3.connect("SportsEquipment.db") # 直接使用相对路径 cursor = conn.cursor() cursor.execute("SELECT * FROM products WHERE product_name LIKE ?", ('%' + product_name + '%',)) rows = cursor.fetchall() conn.close() return rows

在 agentExecutor.py 中调用:

from tools.query_products_from_db import query_by_product_name print(query_by_product_name("篮球"))

执行 python agentExecutor.py 时,报错:

原因分析:

Python import 机制是基于 (当前工作目录)进行的,而不是以模块文件所在目录为基准。

运行 agentExecutor.py 时,Python 认为 “SportsEquipment.db” 是相对于 agentExecutor.py的执行目录(也就是当前目录),而不是query_products_from_db.py 所在的 tools/ 目录。因此,数据库文件未被正确找到。

解决方案:

在 query_products_from_db.py 中使用绝对路径 【第7行注释掉,新增3、4、8行】

标签:

Pythonimport机制与文件路径问题解析由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Pythonimport机制与文件路径问题解析