python中argparse库,在B文件中如何调取A文件中的args参数,直接调用的方式

如果你想在 B 文件中导入 A 文件并直接访问其中的参数,那么需要注意以下两点:

  1. A 文件中定义的参数必须是全局变量或者是可被外部访问的类属性或实例属性。否则,在 B 文件中无法直接访问这些参数。

  2. 如果 A 文件中定义了和 B 文件中相同名称的参数,那么在导入 A 文件之后,B 文件中的同名参数将被覆盖,导致访问到的值可能不是预期的值。

假设我们有两个 Python 文件 A.pyB.py,其中 A.py 中定义了一些命令行参数并对其进行了解析,现在我们想要在 B.py 文件中导入 A.py 并直接访问其中的参数。可以按照以下步骤进行操作:

A 文件中,定义一个函数或类方法,用于返回解析得到的参数对象。示例代码如下:

import argparse
# 创建 ArgumentParser 对象
parser = argparse.ArgumentParser()
# 添加要解析的命令行参数
parser.add_argument('--lr', type=float, default=0.01)
parser.add_argument('--batch_size', type=int, default=32)
def get_args():# 解析命令行参数并返回参数对象return parser.parse_args()

在上述代码中,我们定义了一个名为 get_args() 的函数,该函数使用 ArgumentParser 解析命令行参数,并返回解析得到的参数对象。

B 文件中,导入 A 文件并调用 get_args() 函数来获取解析得到的参数对象。示例代码如下:

import A  # 导入 A 文件
# 调用 get_args() 函数获取参数对象
args = A.get_args()
# 打印读取的参数
print(args.lr)
print(args.batch_size)

在上述代码中,我们首先导入了 A 文件,并使用 A.get_args() 函数获取解析得到的参数对象。然后,我们可以直接访问该对象中的属性,如 args.lrargs.batch_size

需要注意的是,在实际应用中,如果多个 Python 文件需要共享相同的参数值,建议使用配置文件或环境变量等方式来存储和传递参数值,而不是直接在 Python 文件中定义和访问全局变量或类属性。这样可以提高代码的可维护性和灵活性。

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

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

相关文章

斯托克斯公式及其应用

文章目录 斯托克斯公式定理定理条件右手规则定理结论和公式👺公式形式的选用 斯托克斯公式和格林公式的关系例例例分析 斯托克斯公式 斯托克斯(Stokes)公式是格林公式的推广格林公式表达了平面闭区域上的二重积分与其边界曲线上的曲线积分之间的关系而斯托克斯公式…

Robotframework自动化常见问题总结

Robotframework自动化新手常见问题总结 1. 经常有人问这个元素找不到,一般先排除这两个地方,再自己找找 A:是否等待了足够的时间让元素加载 (增加sleep xx, wait Until xxx) B: 仔细查查,这个元素是否进入到另一个frame了 (sel…

Leetcode—392.判断子序列【简单】

2023每日刷题&#xff08;四十七&#xff09; Leetcode—392.判断子序列 双指针实现代码 bool isSubsequence(char* s, char* t) {int lens strlen(s);int lent strlen(t);int left 0, right 0;if(lens 0) {return true;}while(right < lent) {if(t[right] s[left])…

用户反馈组件实现(Vue3+ElementPlus)含图片拖拽上传

用户反馈组件实现&#xff08;Vue3ElementPlus&#xff09;含图片拖拽上传 1. 页面效果1.1 正常展示1.2 鼠标悬浮1.3 表单 2. 代码部分1.2 html、ts1.2 less部分 3. 编码过程遇到的问题 1. 页面效果 1.1 正常展示 1.2 鼠标悬浮 1.3 表单 2. 代码部分 1.2 html、ts <templ…

Node.js 事件循环:定时任务、延迟任务和 I/O 事件的艺术

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

快照读通过MVCC解决不可重复读当前读通过间隙锁解决幻读

简介 Multi-Version Concurrency Control 多版本并发控制&#xff0c;MVCC 是一种并发控制的方法&#xff0c;一般在数据库管理系统中&#xff0c;实现对数据库的并发访问&#xff1b;在编程语言中实现事务内存。 *往期知识不做重点 事务具有4个特征,分别是原子性、一致性、隔…

骨传导会损伤听力吗?戴哪种耳机不伤耳朵?

使用骨传导耳机不会损伤听力&#xff0c;反而还能在一定程度上保护听力&#xff01; 骨传导耳机最大的特点是&#xff0c;声波不经过外耳道和骨膜中的空气进行传播&#xff0c;而是直接将人体骨骼结构作为传声介质来进行传播。 在使用骨传导耳机时&#xff0c;骨传导耳机的声源…

Python标准库math【侯小啾python领航班系列(十六)】

Python标准库math【侯小啾python领航班系列(十六)】 大家好,我是博主侯小啾, 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹…

你了解Redis 的二进制安全吗

最近面试的时候被问到Redis 的二进制安全相关八股文面试题。Redis二进制安全内容比较多&#xff0c;以下是简单的总结大致的过程&#xff0c;需要深入学习的建议跳过 Redis是基于C语言进行开发的&#xff0c;而C语言中的字符串是二进制不安全的&#xff0c;所以Redis就没有直接…

【CTA认证】Android去掉系统应用开机默认使用定位

需求 安卓8设备过CTA认证&#xff0c;不能不请求就获取定位。 frameworks diff --git a/base/services/core/java/com/android/server/SensorNotificationService.java b/base/services/core/java/com/android/server/SensorNotificationService.java index 7f5befab..5d1b5…

01-单例模式-支持并发的C语言实现

代码实现&#xff1a; c #include <stdio.h> #include <stdlib.h> #include <pthread.h>// 定义单例对象结构体 typedef struct {// 单例对象的数据成员int value; } Singleton;// 静态变量&#xff0c;用于保存唯一实例的指针 static Singleton* instance …

SpringCloud_Gateway服务网关

文章目录 一、SpringCloudGateway服务网关概论1、SpringCloudGateway服务网关概论2、SpringCloudGateway的三大核心概念 二、SpringCloudGateway的路由及断言1、子模块项目SpringCloudGateway的搭建2、SpringCloudGateway_Java API构建路由3、SpringCloudGateway的动态路由功能…

学生备考护眼灯哪个牌子好?值得入手的护眼台灯推荐

护眼台灯作为这几年人们很关注的电器产品&#xff0c;家里有孩子或者是经常面对电子设备的人士&#xff0c;相信都会对其有所了解并且购买了护眼台灯&#xff0c;但是还有些家长对护眼台灯的认知不够深&#xff0c;以至于还没有给孩子安排上护眼台灯&#xff0c;还在疑惑护眼台…

FlowJo软件的简单介绍 掌控流式细胞分析的科技巨匠 FlowJo10

FlowJo 10 for Mac是一款强大的流式细胞数据分析软件&#xff0c;具有以下功能&#xff1a; 数据导入与预处理&#xff1a;FlowJo 10可以轻松导入各种类型的流式细胞数据&#xff0c;并对数据进行预处理&#xff0c;包括去噪、背景校正等&#xff0c;以确保数据的准确性和可靠…

小小窗户,在风水中有大大的作用

风水&#xff0c;不是迷信&#xff0c;是环境科学&#xff0c;是地磁学。过去大户人家&#xff0c;官府都是很注重风水的。现在&#xff0c;越是往社会上层越是注重风水。在实际的家居风水之中&#xff0c;要想生旺气场&#xff0c;增加财运&#xff0c;风水纳气一定要充足。 自…

CCC联盟数字车钥匙(七)——BLE连接流程

本文接上一篇CCC数字钥匙BLE概述&#xff0c;介绍BLE中相关连接流程的实现。 2、BLE流程 2.1 所有者配对连接建立 CCC中使用Bluetooth OOB&#xff08;Out of Band, 带外&#xff09;配对完成所有者配对、连接建立的流程。BLE设置分为以下两个子部分&#xff1a; BLE链路层连…

UI自动化Selenium find_elements和find_element的区别

# 如果获取的element是list&#xff0c;那么需要用find_elements方法&#xff1b;此方法会返回list&#xff0c;然后使用len() 方法&#xff0c;计算对象的个数&#xff1b; # find_element方法返回的不是list对象&#xff0c;所以导致没办法计算对象个数 # 1.返回值类型不同…

oops-framework框架 之 初始了解(一)

引擎&#xff1a;CocosCreator 环境&#xff1a; Mac Gitee: oops-framework 简介 oops-framework是由作者dgflash编写&#xff0c;基于CocosCreator 3.x而实现的开源框架。 该框架以插件形式存在&#xff0c;主要目的是为了降低与项目的耦合&#xff0c;并且通过插件内部的…

LeetCode | 100. 相同的树

LeetCode | 100. 相同的树 OJ链接 判断两个节点是否等于空&#xff0c;两个都等于空就直接返回true如果一个等于空&#xff0c;另一个不等于空&#xff0c;说明false然后再判断两个树的值是否相等最后递归p的左&#xff0c;q的左&#xff0c;p的右&#xff0c;q的右 bool isS…

GO学习之 条件变量 sync.Cond

GO系列 1、GO学习之Hello World 2、GO学习之入门语法 3、GO学习之切片操作 4、GO学习之 Map 操作 5、GO学习之 结构体 操作 6、GO学习之 通道(Channel) 7、GO学习之 多线程(goroutine) 8、GO学习之 函数(Function) 9、GO学习之 接口(Interface) 10、GO学习之 网络通信(Net/Htt…