用一个 Python 脚本实现依次运行其他多个带 argparse 命令行参数的 .py 文件
🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/

问题描述:在 Windows 环境中,您希望通过一个 Python 脚本来实现特定的自动化任务,该任务需要依次运行其他多个带 argparse 命令行参数的 .py 文件。您希望找到一种简洁、高效的方法来解决这个问题。
问题分析与解决:
-
在 Linux 开发环境中,我们通常可以使用
Bash脚本来依次运行其他多个带 argparse 命令行参数的 .py 文件。Bash 脚本允许我们编写一系列命令,按顺序执行这些命令,从而实现自动化任务。 -
在 Windows 环境下,我们可以利用 Python 的
os.system函数来实现类似的自动化任务。下面将提供一个示例代码,展示如何在 Windows 中依次运行多个带 argparse 参数的 Python 脚本。
输入描述:
-
run_scripts.py:利用 Python 的os.system函数来实现依次运行其他多个带 argparse 命令行参数的 .py 文件。 -
script_01.py、script_02.py…script_06.py:用于测试的其他多个带 argparse 命令行参数的 .py 文件。如下动图所示意:

python run_scripts.py:
import osos.system("python script_01.py --file_name script_01 --experiment_id 01")
os.system("python script_02.py --file_name script_02 --experiment_id 02")
os.system("python script_03.py --file_name script_03 --experiment_id 03")
os.system("python script_04.py --file_name script_04 --experiment_id 04")
os.system("python script_05.py --file_name script_05 --experiment_id 05")
result = os.system("python script_06.py --file_name script_06 --experiment_id 06")
print(result)
运行结果如下所示:
运行的 .py 文件的文件名为:script_01
运行的 .py 文件的编号为:01
123
运行的 .py 文件的文件名为:script_02
运行的 .py 文件的编号为:02
456
运行的 .py 文件的文件名为:script_03
运行的 .py 文件的编号为:03
789
运行的 .py 文件的文件名为:script_04
运行的 .py 文件的编号为:04
Hello World!
运行的 .py 文件的文件名为:script_05
运行的 .py 文件的编号为:05
I use Python!
运行的 .py 文件的文件名为:script_06
运行的 .py 文件的编号为:06
Machine Learning!
0
值得一提的是:
-
os.system 函数的设计目标是执行系统命令,而不是获取命令的输出。当你使用 os.system 函数时,它会在系统的 shell 中执行你提供的命令,然后返回一个状态码,表示命令是否成功执行。这个状态码通常是一个整数,
0表示命令成功执行,非零值表示出现了错误。但是,os.system 函数并不会捕获命令的输出。这是因为在许多情况下,用户可能并不关心命令的输出,他们只关心命令是否成功执行。因此,os.system 函数的设计就是这样,它只返回命令的执行状态,而不返回命令的输出。 -
如果你需要获取命令的输出,Python 提供了其他的函数,比如
os.popen或者subprocess模块中的函数。这些函数可以执行系统命令,并捕获命令的输出,所以如果你需要获取命令的输出,你可以考虑使用这些函数。
在 Windows 系统中,我们可以使用 dir 命令来列出目录中的文件和文件夹。首先,我们来看一下 os.popen 函数的例子:
import os# 使用 os.popen 执行命令,并获取命令的输出
output = os.popen('dir').read()# 打印命令的输出
print(output)
接下来,我们来看一下 subprocess 模块的例子:
import subprocess# 使用 subprocess.run 执行命令,并获取命令的输出
result = subprocess.run(['dir'], capture_output=True, text=True, shell=True)# 打印命令的输出
print(result.stdout)
在这些例子中,我们使用了 dir 命令,这是 Windows 系统中用来列出目录中的文件和文件夹的命令。我们还在 subprocess.run 函数中添加了 shell=True 参数,这是因为在 Windows 系统中,某些命令(比如 dir)需要在 Shell 中执行。
希望以上这些例子能帮助你理解 os.popen 函数和 subprocess 模块的用法。😊
小结:
-
在 Python 中,可以方便地使用 os 模块来运行其他脚本或者程序,这样就可以在脚本中直接使用其他脚本或程序提供的功能,而不必再次编写实现该功能的代码。
-
Python 的 os.system 函数就像是一个小小的指挥家。当你告诉它你想做什么时,它会转身去告诉 Windows 电脑去做这件事。比如,你可以告诉它去打开一个文件,或者去查找一些信息,然后它就会去做。
-
这个函数的工作原理就像是你在电脑的命令行(就是那个黑色的窗口,你可以在里面输入命令让电脑做事)中输入命令一样。你在 os.system 函数中输入的命令,就会被这个函数送到命令行中去执行。
-
但是,这个函数只会告诉你命令是否成功执行,而不会告诉你命令执行的结果是什么。如果你想知道命令执行的结果,你可能需要使用其他的函数,比如
os.popen或者subprocess模块中的函数。 -
还有一点很重要,那就是安全问题。因为 os.system 函数会执行任何你传给它的命令,所以如果你没有对输入进行过滤,那么就可能会出现安全问题。例如,如果你在 Web 服务器上使用 os.system 函数,并且允许用户输入要执行的命令,那么恶意用户就可能通过构造特殊的命令来攻击你的服务器。因此,在使用 os.system 函数时,一定要确保你对输入进行了适当的过滤和检查。
📚️ 参考链接:
-
在 Python 中处理命令行参数详解(sys.argv 与 argparse 详解)
-
Python 如何运行多个 py 文件 带参数
-
Python 中四种运行其他程序的方式
相关文章:
用一个 Python 脚本实现依次运行其他多个带 argparse 命令行参数的 .py 文件
🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 问题描述:在 Windows 环境中,您希望通过一个 Python 脚本来实现特定的自动化任务,该任务需要依次运行其他多个带 argparse 命令行参数的 .py 文件。您希望找到一种简…...
力扣热题100_普通数组_189_轮转数组
文章目录 题目链接解题思路解题代码 题目链接 189. 轮转数组 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] …...
讲解linux下的Qt如何编译oracle的驱动库libqsqloci.so
1.需求 最近linux下的Qt项目中要连接oracle数据库,用户需要我们访问他们的oracle数据库,查询数据 2.遇到的问题 qt连接oracle数据库需要oracle的驱动库libqsqloci.so插件,需要编译下,之前没有编译过,看了网上的…...
SpringCloud Ribbon 负载均衡服务调用
一、前言 接下来是开展一系列的 SpringCloud 的学习之旅,从传统的模块之间调用,一步步的升级为 SpringCloud 模块之间的调用,此篇文章为第三篇,即介绍 Ribbon 负载均衡服务调用 二、概述 2.1 Ribbon 是什么 Spring Cloud Ribbon…...
物联网在智慧城市建设中的关键作用:连接、感知、智能响应
一、引言 随着信息技术的飞速发展,物联网(IoT)技术已经渗透到我们生活的方方面面,特别是在智慧城市建设中发挥着至关重要的作用。智慧城市是指通过运用先进的信息和通信技术,实现城市基础设施、公共服务、交通管理、环…...
安卓7原生相机切到视频崩溃
目录 1、查看日志 2、分析日志、提取重点 3、寻找解决方法 author daisy.skye的博客_CSDN博客-嵌入式,Qt,Linux领域博主 daisy.skye_嵌入式,Linux,Qt-CSDN博客daisy.skye擅长嵌入式,Linux,Qt,等方面的知识https://blog.csdn.net/qq_40715266?typeblog 1、查看日志 由于安…...
构建信息蓝图:概念模型与E-R图的技术解析
✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua,在这里我会分享我的知识和经验。&#x…...
docker拉取镜像失败的解决方案大全
更换国内源 创建或修改 /etc/docker/daemon.json 文件,修改: {"registry-mirrors" : ["https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn","https:…...
Axure Cloud如何给每个原型配置私有域名
需求 在原型发布之后,自动给原型生成一个独立访问的域名,类似http://u591bi.axshare.bushrose.cn,应该如何配置呢? 准备事项 已备案域名 如何备案?阿里云备案流程 已安装部署Axure Cloud 如何安装部署,请…...
语音模块学习——LSYT201B模组(实际操作篇)
目录 一、定制词条 二、直接用串口通信 三、使用单片机通信 理论篇在这,依旧是深圳雷龙发展的语音模块。 http://t.csdnimg.cn/2SzJL 一、定制词条 因为我想后面加到我的毕设上加个语音模块,所以定制的词条都是和芯测相关的。 动作词条播报串口输…...
Android应用界面
概述:由于学校原因,估计会考,曹某人就浅学一下。 目录 View概念 创建和使用布局文件 相对布局 线性布局 水平线性布局 垂直线性布局 表格布局 帧布局 扁平化布局 Android控件详解 AdapterView及其子类 View概念 安卓中的View是所…...
生活的色彩--爱摸鱼的美工(17)
题记 生活不如意事十之八九, 恶人成佛只需放下屠刀,善人想要成佛却要经理九九八十一难。而且历经磨难成佛的几率也很小,因为名额有限。 天地不仁以万物为刍狗! 小美工记录生活,记录绘画演变过程的一天。 厨房 食…...
【YOLO v5 v7 v8 v9小目标改进】AFPN 渐进式特征金字塔网络:解决多尺度特征融合中,信息在传递过程丢失
AFPN 渐进式特征金字塔网络:解决多尺度特征融合中,信息在传递过程丢失 提出背景AFPN 多尺度特征金字塔 非邻近层次的直接特征融合 自适应空间融合操作 小目标涨点YOLO v5 魔改YOLO v7 魔改YOLO v8 魔改YOLO v9 魔改 提出背景 论文:https:…...
问题解决 | vscode无法连接服务器而ssh和sftp可以
解决步骤 进入家目录删除.vscode-server rm -rf .vscode-server 然后再次用vscode连接服务器时,会重新安装,这时可能报出一些缺少依赖的错 需要联系管理员安装相关依赖,比如 sudo apt-get install libstdc6 至此问题解决...
Git 远程操作
1.分布式版本控制系统 我们目前所说的所有内容(工作区,暂存区,版本库等等),都是在本地!也就是在你的笔记本或者计算机上。而我们的 Git 其实是分布式版本控制系统!什么意思呢 可以简单理解为&am…...
Windows C++ 实现远程虚拟打印机(远程共享打印机)
编译错误已经修改完后的工程修改后的下载地址 https://download.csdn.net/download/2403_83063732/88928550 1、下载clawpdf(0.8.7版本) https://github.com/clawsoftware/clawPDF 2、打开clawpdf工程开始编译C#工程,出现如下错误…...
【jvm】java对象占用内存问题深入解析
一个Java对象占用多大内存-CSDN博客 关于Object o new Object()追魂九连问(个人学习笔记) - 知乎JVM(Java虚拟机)-史上最全、最详细JVM笔记-CSDN博客...
金现代产品方案部部长王宁,将出席“ISIG-低代码/零代码技术与应用发展峰会”
3月16日,第四届「ISIG中国产业智能大会」将在上海中庚聚龙酒店拉开序幕。本届大会由苏州市金融科技协会指导,企智未来科技(LowCode低码时代、RPA中国、AIGC开放社区)主办。大会旨在聚合每一位产业成员的力量,深入探索低…...
数据结构——lesson7二叉树 堆的介绍与实现
前言💞💞 啦啦啦~这里是土土数据结构学习笔记🥳🥳 💥个人主页:大耳朵土土垚的博客 💥 所属专栏:数据结构学习笔记 💥对于数据结构顺序表链表有疑问的都可以在上面数据结…...
阿里云DSW做AI绘画时的显卡选择A10?V100?
V100是Volta架构,A10是Ampere架构,架构上讲A10先进点,其实只是制程区别,用起来没区别。 V100是HBM的内存读取,带宽大,但是DDR5的。 二块卡都是全精度为主的算力卡,半精度优势不明显。 需要用…...
ODM(原始设计制造商)模式,本质上是“赚辛苦钱
结合你掌握的信息(ODM模式、大小周、整机等),以下是从职业发展、行业环境、公司治理三个维度的批判性分析与建议: 1. 业务模式的“护城河”与“天花板” (ODM vs. 自有品牌) 批判性分析:ODM(原始设计制造商)模式,本质上是“赚辛苦钱”。虽然公司想做“整机”,但如果没…...
Qwen2-VL-2B-Instruct应用场景:媒体库智能打标与跨模态内容归档系统
Qwen2-VL-2B-Instruct应用场景:媒体库智能打标与跨模态内容归档系统 1. 项目背景与价值 现代企业和个人创作者都面临着一个共同的难题:随着图片、视频、文档等多媒体内容的爆炸式增长,如何高效地管理和检索这些资源?传统的文件名…...
【Agent-阿程】AI先锋杯·14天征文挑战第14期-第13天-OpenClaw云记忆工作原理全拆解
【Agent-阿程】AI先锋杯14天征文挑战第14期-第13天-OpenClaw云记忆工作原理全拆解一、前言:读懂云记忆工作原理,玩转OpenClaw持久化记忆1.1 原理解读意义1.2 核心前提说明二、OpenClaw云记忆整体底层架构2.1 核心定位2.1.1 底层技术支撑2.1.2 整体架构总…...
别再手动登录了!用VBS脚本自动打开Chrome并填写表单(附完整代码)
解放双手:用VBS脚本实现Chrome自动化表单填写全攻略 每次打开浏览器、输入网址、填写账号密码、点击登录...这些重复性操作是否让你感到厌倦?对于测试工程师、运维人员或经常需要处理批量表单的行政人员来说,这类机械操作不仅耗时耗力&#x…...
仅限前200名智能座舱开发者:Dify车载问答系统性能调优Checklist(含JTAG级推理耗时分析、车规MCU内存占用压缩至≤18.3MB)
第一章:Dify车载问答系统开发案例在智能座舱持续演进的背景下,基于大模型的车载问答系统正成为提升人车交互体验的关键能力。本案例以 Dify 为低代码 AI 应用开发平台,构建面向车内场景的轻量化问答服务,支持自然语言提问、上下文…...
给Kylin V10 SP3虚拟机加块‘数据盘’:从VMware添加硬盘到fstab永久挂载/data的保姆级流程
麒麟V10 SP3虚拟机扩容实战:从VMware添加硬盘到永久挂载全指南 在虚拟化开发环境中,为运行中的麒麟系统动态扩容存储空间是运维工程师的常见需求。想象这样一个场景:你的Kylin V10 SP3虚拟机原本配置的存储空间已经捉襟见肘,而项目…...
别再瞎调PLL了!手把手教你用STM32CubeMX配置STM32F411的100MHz系统时钟(HSI/HSE对比实测)
STM32CubeMX实战:从HSI到HSE的100MHz时钟配置全解析 第一次接触STM32的时钟树配置时,我被那些密密麻麻的分频系数和PLL参数搞得晕头转向。直到发现STM32CubeMX这个神器,才真正体会到图形化配置工具的威力。本文将带你用CubeMX完成STM32F411的…...
EM菌在水产养殖中的作用与优质产品推荐
EM菌在水产养殖中的作用抑制有害菌:通过竞争性占位和代谢产物抑制弧菌、大肠杆菌等病原微生物繁殖。分解有机质:加速残饵、粪便的降解,减少底部淤泥堆积,降低硫化氢和氨氮浓度。稳定水质:调节水体pH值,促进…...
终极指南:如何用KMS_VL_ALL_AIO一键永久激活Windows和Office系统
终极指南:如何用KMS_VL_ALL_AIO一键永久激活Windows和Office系统 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统频繁弹出激活提示而烦恼吗?Office文档…...
