self.parser.add_argument

时间: 2023-04-30 12:04:47 浏览: 47
b'self.parser.add_argument' 的意思是在 Python 中使用 argparse 模块创建一个参数解析器对象(parser),然后使用该对象的 add_argument 方法添加需要解析的参数。
相关问题

self.parser.add_argument\

self.parser.add_argument是一个方法,用于为命令行参数解析器添加参数。它接受多个参数,用于定义命令行参数的名称、类型、默认值和帮助信息等。通过调用这个方法,可以为脚本添加不同的命令行选项,并在程序中使用这些选项进行相应的操作。 参数的具体含义如下: - name:参数的名称,可以是一个单独的字符串,也可以是一个包含多个选项名称的列表。 - type:参数的数据类型,默认为字符串类型。 - default:参数的默认值,如果用户未提供该参数,则使用默认值。 - help:对参数的简短描述,用于生成自动生成的帮助信息。 通过调用这个方法,可以为脚本添加不同的命令行选项,并在程序中使用这些选项进行相应的操作。例如,通过设置`self.parser.add_argument('--net', type=str, default='ResNet', help='VGG/ResNet')`,可以在命令行中指定`--net`参数,并将其值赋给`net`变量。然后,可以根据`net`变量的值执行相应的操作。 总结来说,`self.parser.add_argument`方法用于为命令行参数解析器添加参数,并且可以通过指定参数的名称、类型、默认值和帮助信息等来定义这些参数。这样,用户可以在命令行中指定相应的参数,并在程序中使用这些参数进行相应的操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

self.parser.add_argument在python中是什么意思

在Python中,self.parser.add_argument()是ArgumentParser对象的方法之一。它用于向ArgumentParser对象添加命令行参数。通过调用这个方法,并传递参数的相关信息,可以定义出在命令行中使用的参数选项,包括参数的名称、类型、默认值、帮助文本等。这样,在解析命令行时,ArgumentParser对象就能够根据这些定义好的参数选项将命令行参数解析成对应的Python数据类型。这样可以方便地在代码中使用解析后的参数值进行相应的操作。

相关推荐

super(Ui_MainWindow, self).__init__(parent) parser_car_det = argparse.ArgumentParser() # parser.add_argument('--weights', type=str, default='weights-s/best1.pt', help='model.pt path') parser_car_det.add_argument('--weights', type=str, default='weights-s/best1.pt', help='model.pt path') parser_car_det.add_argument('--source', type=str, default='input/3.mp4', help='source') # file/folder, 0 for webcam # parser.add_argument('--source', type=str, default='rtsp://admin:hik12345@192.168.1.64:554//Streaming/Channels/101', help='source') # file/folder, 0 for webcam parser_car_det.add_argument('--output', type=str, default='inference/output', help='output folder') # output folder parser_car_det.add_argument('--img-size', type=int, default=640, help='inference size (pixels)') parser_car_det.add_argument('--conf-thres', type=float, default=0.4, help='object confidence threshold') parser_car_det.add_argument('--iou-thres', type=float, default=0.5, help='IOU threshold for NMS') parser_car_det.add_argument('--fourcc', type=str, default='mp4v', help='output video codec (verify ffmpeg support)') parser_car_det.add_argument('--device', default='cpu', help='cuda device, i.e. 0 or 0,1,2,3 or cpu') parser_car_det.add_argument('--view-img', action='store_true', help='display results') parser_car_det.add_argument('--save-txt', action='store_true', help='save results to *.txt') parser_car_det.add_argument('--classes', nargs='+', type=int, help='filter by class') parser_car_det.add_argument('--agnostic-nms', action='store_true', help='class-agnostic NMS') parser_car_det.add_argument('--augment', action='store_true', help='augmented inference') parser_car_det.add_argument('--idx', default='2', help='idx') self.opt_car_det = parser_car_det.parse_args() self.opt_car_det.img_size = check_img_size(self.opt_car_det.img_size) half = 0 source_car_det, weights_car_det, view_img_car_det, save_txt_car_det, imgsz_car_det = self.opt_car_det.source, self.opt_car_det.weights, self.opt_car_det.view_img, self.opt_car_det.save_txt, self.opt_car_det.img_size self.device_car_det = torch_utils.select_device(self.opt_car_det.device) self.half_car_det = 0 # half precision only supported on CUDA cudnn.benchmark = True

import http.client from html.parser import HTMLParser import argparse from concurrent.futures import ThreadPoolExecutor import multiprocessing.pool prefix = "save/" readed_path = multiprocessing.Manager().list() cur_path = multiprocessing.Manager().list() new_path = multiprocessing.Manager().list() lock = multiprocessing.Lock() class MyHttpParser(HTMLParser): def __init__(self): HTMLParser.__init__(self) self.tag = [] self.href = "" self.txt = "" def handle_starttag(self, tag, attrs): self.tag.append(tag) # print("start tag in list :" + str(self.tag)) if tag == "a": for att in attrs: if att[0] == 'href': self.href = att[1] def handle_endtag(self, tag): if tag == "a" and len(self.tag) > 2 and self.tag[-2] == "div": print("in div, link txt is %s ." % self.txt) print("in div, link url is %s ." % self.href) lock.acquire() if not self.href in readed_path: readed_path.append(self.href) new_path.append(self.href) # print("end tag in list :" + str(self.tag)) lock.release() self.tag.pop(-1) def handle_data(self, data): if len(self.tag) >= 1 and self.tag[-1] == "a": self.txt = data def LoadHtml(path, file_path): if len(file_path) == 0: file_path = "/" conn = http.client.HTTPConnection(path) try: conn.request("GET", file_path) response = conn.getresponse() print(response.status, response.reason, response.version) data = response.read().decode("utf-8") if response.status == 301: data = response.getheader("Location") lock.acquire() new_path.append(data) lock.release() data = "" #print(data) conn.close() return data except Exception as e: print(e.args) def ParseArgs(): # 初始化解析器 parser = argparse.ArgumentParser() # 定义参数 parser.add_argument("-p", "--path", help="域名") parser.add_argument("-d", "--deep", type=int, help="递归深度") # 解析 args = parser.parse_args() return args def formatPath(path): path = path.removeprefix("https://") path = path.removeprefix("http://") path = path.removeprefix("//") return path def doWork(path): path = formatPath(path) m = path.find("/") if m == -1: m = len(path) data = LoadHtml(path[:m], path[m:]) with open(prefix + path[:m] + ".html", "w+", encoding="utf-8") as f: f.write(data) parse.feed(data) def work(deep,maxdeep): if deep > maxdeep: return args = ParseArgs() cur_path.append(formatPath(args.path)) readed_path.append(formatPath(args.path)) parse = MyHttpParser() e = multiprocessing.Pool(4) for i in range(args.deep): size = len(cur_path) e.map(doWork,cur_path) cur_path[:]=[] for p in new_path: cur_path.append(p) new_path[:]=[] print(i)优化此代码能在windows下运行

import requestsfrom html.parser import HTMLParserimport argparsefrom concurrent.futures import ThreadPoolExecutor, ProcessPoolExecutor, as_completedimport multiprocessingprefix = "save/"readed_path = multiprocessing.Manager().Queue()cur_path = multiprocessing.Manager().Queue()new_path = multiprocessing.Manager().Queue()lock = multiprocessing.Lock()class MyHttpParser(HTMLParser): def __init__(self): super().__init__() self.tag = [] self.href = "" self.txt = "" def handle_starttag(self, tag, attrs): self.tag.append(tag) if tag == "a": for att in attrs: if att[0] == 'href': self.href = att[1] def handle_endtag(self, tag): if tag == "a" and len(self.tag) > 2 and self.tag[-2] == "div": print("in div, link txt is %s ." % self.txt) print("in div, link url is %s ." % self.href) if not self.href in readed_path.queue: readed_path.put(self.href) new_path.put(self.href) self.tag.pop(-1) def handle_data(self, data): if len(self.tag) >= 1 and self.tag[-1] == "a": self.txt = datadef LoadHtml(path, file_path): if len(file_path) == 0: file_path = "/" url = f"http://{path}{file_path}" try: response = requests.get(url) print(response.status_code, response.reason, response.raw.version) data = response.content.decode("utf-8") if response.status_code == 301: data = response.headers["Location"] if not data in readed_path.queue: new_path.put(data) data = "" return data except Exception as e: print(e.args)def ParseArgs(): parser = argparse.ArgumentParser() parser.add_argument("-p", "--path", help="domain name") parser.add_argument("-d", "--deep", type=int, help="recursion depth") args = parser.parse_args() return argsdef formatPath(path): path = path.removeprefix("https://") path = path.removeprefix("http://") path = path.removeprefix("//") return pathdef doWork(path): path = formatPath(path) m = path.find("/") if m == -1: m = len(path) data = LoadHtml(path[:m], path[m:]) with open(prefix + path[:m] + ".html", "w+", encoding="utf-8") as f: f.write(data) parse.feed(data)def work(maxdeep): args = ParseArgs() cur_path.put(formatPath(args.path)) readed_path.put(formatPath(args.path)) parse = MyHttpParser() with ProcessPoolExecutor(max_workers=4) as executor: for i in range(args.deep): size = cur_path.qsize() futures = [executor.submit(doWork, cur_path.get()) for _ in range(size)] for future in as_completed(futures): try: future.result() except Exception as e: print(e) cur_path.queue.clear() while not new_path.empty(): cur_path.put(new_path.get()) print(i)if __name__ == '__main__': work(5)此代码出现Unresolved reference 'parse'

最新推荐

recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

解释minorization-maximization (MM) algorithm,并给出matlab代码编写的例子

Minorization-maximization (MM) algorithm是一种常用的优化算法,用于求解非凸问题或含有约束的优化问题。该算法的基本思想是通过构造一个凸下界函数来逼近原问题,然后通过求解凸下界函数的最优解来逼近原问题的最优解。具体步骤如下: 1. 初始化参数 $\theta_0$,设 $k=0$; 2. 构造一个凸下界函数 $Q(\theta|\theta_k)$,使其满足 $Q(\theta_k|\theta_k)=f(\theta_k)$; 3. 求解 $Q(\theta|\theta_k)$ 的最优值 $\theta_{k+1}=\arg\min_\theta Q(
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。
recommend-type

"互动学习:行动中的多样性与论文攻读经历"

多样性她- 事实上SCI NCES你的时间表ECOLEDO C Tora SC和NCESPOUR l’Ingén学习互动,互动学习以行动为中心的强化学习学会互动,互动学习,以行动为中心的强化学习计算机科学博士论文于2021年9月28日在Villeneuve d'Asq公开支持马修·瑟林评审团主席法布里斯·勒菲弗尔阿维尼翁大学教授论文指导奥利维尔·皮耶昆谷歌研究教授:智囊团论文联合主任菲利普·普雷教授,大学。里尔/CRISTAL/因里亚报告员奥利维耶·西格德索邦大学报告员卢多维奇·德诺耶教授,Facebook /索邦大学审查员越南圣迈IMT Atlantic高级讲师邀请弗洛里安·斯特鲁布博士,Deepmind对于那些及时看到自己错误的人...3谢谢你首先,我要感谢我的两位博士生导师Olivier和Philippe。奥利维尔,"站在巨人的肩膀上"这句话对你来说完全有意义了。从科学上讲,你知道在这篇论文的(许多)错误中,你是我可以依
recommend-type

实现实时监控告警系统:Kafka与Grafana整合

![实现实时监控告警系统:Kafka与Grafana整合](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X2pwZy9BVldpY3ladXVDbEZpY1pLWmw2bUVaWXFUcEdLT1VDdkxRSmQxZXB5R1lxaWNlUjA2c0hFek5Qc3FyRktudFF1VDMxQVl3QTRXV2lhSWFRMEFRc0I1cW1ZOGcvNjQw?x-oss-process=image/format,png) # 1.1 Kafka集群架构 Kafka集群由多个称为代理的服务器组成,这
recommend-type

帮我实现在Androidstudio调用chapgpt并提供源码

首先,你需要运行一个ChitGPT的服务器,然后通过Android应用程序与该服务器进行通信。以下是一个简单的Android应用程序示例,可以与ChitGPT进行通信: 1. 首先,在Android Studio中创建一个新的项目,并添加以下依赖项: ``` implementation 'com.squareup.okhttp3:okhttp:4.9.0' implementation 'com.google.code.gson:gson:2.8.6' ``` 2. 创建一个新的Java类,用于与ChitGPT服务器通信。以下是一个简单的实现: ```java import com.
recommend-type

c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf

校园超市商品信息管理系统课程设计旨在帮助学生深入理解程序设计的基础知识,同时锻炼他们的实际操作能力。通过设计和实现一个校园超市商品信息管理系统,学生掌握了如何利用计算机科学与技术知识解决实际问题的能力。在课程设计过程中,学生需要对超市商品和销售员的关系进行有效管理,使系统功能更全面、实用,从而提高用户体验和便利性。 学生在课程设计过程中展现了积极的学习态度和纪律,没有缺勤情况,演示过程流畅且作品具有很强的使用价值。设计报告完整详细,展现了对问题的深入思考和解决能力。在答辩环节中,学生能够自信地回答问题,展示出扎实的专业知识和逻辑思维能力。教师对学生的表现予以肯定,认为学生在课程设计中表现出色,值得称赞。 整个课程设计过程包括平时成绩、报告成绩和演示与答辩成绩三个部分,其中平时表现占比20%,报告成绩占比40%,演示与答辩成绩占比40%。通过这三个部分的综合评定,最终为学生总成绩提供参考。总评分以百分制计算,全面评估学生在课程设计中的各项表现,最终为学生提供综合评价和反馈意见。 通过校园超市商品信息管理系统课程设计,学生不仅提升了对程序设计基础知识的理解与应用能力,同时也增强了团队协作和沟通能力。这一过程旨在培养学生综合运用技术解决问题的能力,为其未来的专业发展打下坚实基础。学生在进行校园超市商品信息管理系统课程设计过程中,不仅获得了理论知识的提升,同时也锻炼了实践能力和创新思维,为其未来的职业发展奠定了坚实基础。 校园超市商品信息管理系统课程设计的目的在于促进学生对程序设计基础知识的深入理解与掌握,同时培养学生解决实际问题的能力。通过对系统功能和用户需求的全面考量,学生设计了一个实用、高效的校园超市商品信息管理系统,为用户提供了更便捷、更高效的管理和使用体验。 综上所述,校园超市商品信息管理系统课程设计是一项旨在提升学生综合能力和实践技能的重要教学活动。通过此次设计,学生不仅深化了对程序设计基础知识的理解,还培养了解决实际问题的能力和团队合作精神。这一过程将为学生未来的专业发展提供坚实基础,使其在实际工作中能够胜任更多挑战。
recommend-type

关系数据表示学习

关系数据卢多维奇·多斯桑托斯引用此版本:卢多维奇·多斯桑托斯。关系数据的表示学习机器学习[cs.LG]。皮埃尔和玛丽·居里大学-巴黎第六大学,2017年。英语。NNT:2017PA066480。电话:01803188HAL ID:电话:01803188https://theses.hal.science/tel-01803188提交日期:2018年HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaireUNIVERSITY PIERRE和 MARIE CURIE计算机科学、电信和电子学博士学院(巴黎)巴黎6号计算机科学实验室D八角形T HESIS关系数据表示学习作者:Ludovic DOS SAntos主管:Patrick GALLINARI联合主管:本杰明·P·伊沃瓦斯基为满足计算机科学博士学位的要求而提交的论文评审团成员:先生蒂埃里·A·退休记者先生尤尼斯·B·恩