Python中如何import文件?

news2024/9/21 20:54:50

背景

我在一个语言大模型项目中,多个地方要使用API,这涉及到API密钥的设置,关键我想把项目开源出来,用户设置为自己密钥的时候想提供方便,仅修改一个文件即可,这样会提供方便。于是有了下面的探索

问题

目前文件结构
目前API密钥设置在base_memory_chat.pydietary_advice.pyrecommended_dishes.pyrecommended_judgment.py四个文件都有。

在这里插入图片描述
在这里插入图片描述

如何仅修改一处地方,同时供4个地方的需要?

解决方案

我在 llm_server目录下创建了一个 config_ai.py文件,并且填入了一下内容

from volcenginesdkarkruntime import Ark

def generate_api_object():
    client = Ark(
        base_url="XXXXXXXXXXXXXXXX",
        ak="XXXXXXXXXXXXXXXX",
        sk="XXXXXXXXXXXXXXXX",
        api_key="XXXXXXXXXXXXXXXX"
    )
    return client

然后我在四个文件,删除 设置并生成对象 的代码。替换成这三行代码

sys.path.append('../')
from config_ai import generate_api_object
client = generate_api_object()

于是当我run四个文件中的任意文件,都能预期的拿到api,模型愉快的运行起来了。

知识

1.config_ai.py中如果不导入 from volcenginesdkarkruntime import Ark 会报错,尽管可能你四个文件中这包的导入。因为当执行到· from config_ai import generate_api_object 解释器会跳转到 config_ai 文件完整执行一次代码,而文件与文件之间是独立的,导入的包无法共享。

2.sys.path.append('../') 对于这行代码,.. 的含义是当前目录的上级目录。作用是python解释器在查找包时,添加此路径。

3.于是python能够找到包,但是仅 import config_ai 无法直接使用 generate_api_object() ,原因是文件模块之间独立,要间接拿到 generate_api_object 方法,或者你像我这样 from config_ai import generate_api_object

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2092454.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024年“羊城杯”粤港澳大湾区网络安全大赛 AI部分

2024年“羊城杯”粤港澳大湾区网络安全大赛 AI部分 Author:Ns100kUp From:极安云科-服务中心 Data:2024/08/27 Copyright:本内容版权归属极安云科,未经授权不得以任何形式复制、转载、摘编和使用。培训、环境、资料、考证 公众号…

[QCTF2018]X-man-A face1

下载解压后发现一张缺失左上和左下的二维码,先补齐,扫扫看,请ps 在ps中打开我们需要把右上的回型图案复制,分别黏贴到左上和左下正确位置 先按W键调出魔术棒工具,我的容差已调好,不需要再调试,…

VS Code 一些好用的扩展插件

目录 1.改中文 2.不同注释色 3.显示Color颜色 4.显示尾部空格 5.快捷提示 6.调出颜色面板 7.git 提交记录 8.本地修改记录 9.文件比较 10.Post请求测试 11.实时显示代码的运行结果 12.自动修改标签名 13.在选中代码两边添加各种引号、括号 14.自动添加console.log…

BRAS(宽带接入服务器)简介

文章目录 BRAS的主要功能IP地址分配功能AAA(认证、计费、授权) BRAS的工作流程PPPoE(基于以太网的点对点通讯协议)vBRAS(虚拟宽带远程接入服务器) 宽带接入服务器(Broadband Remote Access Serv…

【奇某信-注册_登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

23种设计模式之模版方法模式

文章目录 模版方法模式简单实现 - 炒菜**总结** 模版方法模式 一、定义与概念 模板方法模式是一种行为设计模式,它定义了一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。…

中智科学技术评价研究中心与中企数研究院实现全面合作

8月29日,中智科学技术评价研究中心与《中国企业报》集团数字化发展研究院在北京顺喜山庄成功举办“数字经济GBC生态系统管理平台”项目实施落地座谈会及研究院高层管理集训班,并签署了项目合作协议。此次合作标志着双方将在“数字中国发展战略”的大背景…

录屏神器Camtasia 2024中文永久激活版安装教程+汉化补丁 破解版激活码

它来了它来了,它带着Camtasia2024最新版来了! 录屏&剪辑软件 Camtasia 如期发布最新版,带来的新功能非常实用!我们今天带来的是Camtasia Studio 2024最新版,附带crack破解程序(注册机)和激…

基于yolov8的篮球计数检测系统python源码+onnx模型+评估指标曲线+精美GUI界面

【算法介绍】 基于YOLOv8的篮球计数检测系统是一种高效、精准的目标检测技术,专为篮球比赛中的篮球计数而设计。该系统利用YOLOv8这一先进的深度学习算法,通过实时分析比赛视频或图像,能够迅速且准确地识别并计数篮球的数量。 YOLOv8作为YO…

【系统架构设计师-2014年】综合知识-答案及详解

文章目录 【第1~2题】【第3~4题】【第5题】【第6~8题】【第9题】【第10~11题】【第12题】【第13题】【第14题】【第15题】【第16~17题】【第18题】【第19~21题】【第22~23题】【第24题】【第25题】【第26题】【第27~28题】【第29题】【第30题】【第31题】【第32题】【第33~34题…

《高等代数》范德蒙德行列式的应用

说明:此文章用于本人复习巩固,如果也能帮助到大家那就更加有意义了。 注:范德蒙德行列式的简单应用及其变形。 范德蒙德行列式的计算公式: 注:(1)用大下标减去小下标。 (2&#xf…

深入理解并实现——归并排序【C语言】

目录 一、概念 二、递归版实现 三、非递归实现 三、文件归并排序 小结 一、概念 归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将…

【论文阅读】Single-Stage Visual Query Localization in Egocentric Videos

paper: code: 简介: 长篇自我中心视频的视觉查询定位需要时空搜索和指定对象的定位。之前的工作开发了复杂的多级管道,利用完善的对象检测和跟踪方法来执行 VQL(视觉查询定位)。然而,每个阶段…

智能创作与优化新时代:【ChatGPT-4o】在【数学建模】、【AI绘画】、【海报设计】与【论文优化】中的创新应用

目录 1. 引言 什么是ChatGPT4o? 背景与发展历史 2.chatgpt4o数学建模 常见的数学建模专业术语及其简要说明 一个具体的代码例子 问题描述 代码实现 代码说明 运行结果 3.chatgpt4o在论文 1.例如生成基于标签的推荐系统模型及算法研究 1. 摘要 2. 引…

微信搜一搜下面搜索发现是什么?收录规则因素有哪些?如何能被搜索发现话题标签收录?

前言:为什么想到写这个?上周白杨SEO玩赚流量群里的一个群友私下问我怎么能被微信里搜索发现这个话题标签收录,问规则是什么,所以今天就来简单分享一下,如果你也感兴趣,可以看看。 文章大纲: 1、…

Go 1.19.4 文件读写操作-Day 14

1. 文件读写操作 在我们对一个文件进行读写操作前,有一个必做步骤,那就是要先打开文件。 打开文件主要使用os模块的 Open 和 OpenFile 。 Open:适合读。OpenFile:适合读写。 2. 打开文件 2.1 Open 作用: 以只读方式打…

书生浦语-MindSearch

1.目的 利用SiliconCloud提供的免费Intern2.5-7B-Chat的API部署MindSearch。 2.过程 2.1 在GitHub上打开codespace主页 我们首先在GitHub上打开codespace,选择blank template。 然后打开一个Web端的vscode,将MindSearch进行clone mkdir -p /workspa…

二叉树详解(进阶)

目录 1. 二叉搜索树 1.1 基本概念 1.2 基本操作 1.3 性能分析 1.4 键值对 2. AVL树和红黑树 2.1 AVL树 2.2 红黑树 3. 红黑树模拟实现STL中的map与set 1. 二叉搜索树 1.1 基本概念 二叉搜索树(BST,Binary Search Tree)&#xff1a…

记录一次安装Studio卸载后再次安装反复打不开的问题

先说问题表现,低版本的安装后点击没反应,高版本的报错,如下图,反复卸载安装都没有用,网上也找了各种彻底卸载安卓Studio的方法也不行 Error occurred during initialization of VMagent library failed Agent OnLoad:…

【C++】unordered_set 容器的最全解析(什么是unordered_set?unordered_set的常用接口有那些?)

目录 一、前言 二、预备知识 💢关联式容器💢 💢键值对💢 💢哈希结构的关联式容器💢 三、unordered_set 详解 🔥unordered_set 的介绍 🔥unordered_set 的构造 &am…