当前位置: 首页 > news >正文

命令行工具开发秘籍:从零开始创建实用Python脚本(如何创建Python命令行工具)

文章目录

  • 📖 介绍 📖
  • 🏡 演示环境 🏡
  • 📒 文章内容 📒
    • 📝 创建命令行工具的基础
      • 🔖 在非模块化的环境中
      • 🔖 在模块化环境中
    • 📝 打包和安装模块
    • 📝 使用命令行工具
  • ⚓️ 相关链接 ⚓️

📖 介绍 📖

如何将自己的Python模块打包成一个可在命令行中直接执行的工具?今天,我们将通过简单的步骤,让你能够创建一个命令行工具,实现直接执行模块的功能。无论是在非模块化的环境下,还是在模块化的项目中,你都能轻松掌握这一技巧。

编写命令行工具

🏡 演示环境 🏡

本文演示环境如下:

  • 操作系统:Windows 11
  • 操作系统:Ubuntu 24.04.1
  • Python版本:3.11.5
  • IDE版本:PyCharm 2023.2.5 (Professional Edition)

注意:本文内容为个人笔记,仅供参考。附:读者须知



相关文章:

命令行工具开发秘籍:从零开始创建实用Python脚本(如何创建Python命令行工具)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 文章内容 📒📝 创建命令行工具的基础🔖 在非模块化的环境中🔖 在模块化环境中📝 打包和安装模块📝 使用命令行工具⚓️ 相关链接 ⚓️📖 介绍 📖 如何将自己的Python模块打包成一个可在命令行中直接执行的工具?…...

Python - PDF 分割成单页、PDF 转图片(PNG)

文章目录 PDF 分割成一页页的 PDFPDF 转 PNGPDF 分割成一页页的 PDF import fitz def split_pdf(pdf_path, save_dir):source_pdf = fitz.open(pdf_path)# 遍历source_pdf中的每一页,page_number从0开始计数 for idx...

【网络】套接字编程——TCP通信

> 作者:დ旧言~ > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:TCP网络服务器简单模拟实现。 > 毒鸡汤:有些事情,总是不明白,所以我不会坚持。早安! > 专栏选自:…...

PyTorch实践-CNN-验证码识别

1 需求 GitHub - xhh890921/cnn-captcha-pytorch: 小黑黑讲AI,AI实战项目《验证码识别》 2 接口 含义 在optim.Adam接口中,lr参数代表学习率(Learning Rate)。学习率是优化算法中的一个关键超参数,它决定了在每次迭代…...

json和pb的比较

1.介绍 在数据序列化和通信领域,schema 指的是用于定义数据结构的模式或结构描述。它描述了数据的字段、类型、嵌套结构和约束,并在数据验证和解释上发挥重要作用。常见的 schema 格式包括 Protocol Buffers (proto)、JSON Schema、XML Schema 等。 Pr…...

Redis-基本了解

一、Redis 初识 Redis 是⼀种基于键值对(key-value)的NoSQL数据库,与很多键值对数据库不同的是,Redis 中的值可以是由string(字符串)、hash(哈希)、list(列表&#xff09…...

HarmonyOS第一课 06 构建更加丰富的页面-习题解析

判断题 1. Tabs组件可以通过接口传入一个TabsController,该TabsController可以控制Tabs组件进行页签切换。T 正确(True) 错误(False) 使用 this.tabsController.changeIndex(this.currentIndex); 可以切换页签 WebviewController提供了变更Web组件显示内容的接口…...

计算机的错误计算(一百四十三)

摘要 探讨 MATLAB 中 附近数的余弦函数的计算精度问题。 例1. 已知 计算 与 直接贴图吧: 另外,16位的正确值分别为 -0.3012758451921695e-7 与 -0.3765996542384011e-10(ISRealsoft 提供)。 容易看出,MATLAB的输…...

大数据之——Window电脑本地配置hadoop系统(100%包避坑!!方便日常测试,不用再去虚拟机那么麻烦)

之前我们的hadoop不管是伪分布式还是分布式,都是配置在虚拟机上,我们有的时候想要运行一些mapreduce、hdfs的操作,又要把文件移到虚拟机,又要上传hdfs,麻烦得要死,那么有的时候我们写的一些java、python的h…...

汽车固态电池深度报告

固态电池符合未来大容量二次电池发展方向,半固态电池已装车,高端长续航车型、e-VTOL 等方向对固态电池需求明确。固态电池理论上具备更高的能量密度、更好的热稳定性、更长的循环寿命等优点,是未来大容量二次电池发展方向。根据中国汽车动力…...

HTB-Cicada 靶机笔记

Cicada 靶机笔记 概述 HTB 的靶机 Cicada 靶机 靶机地址:https://app.hackthebox.com/machines/Cicada 很有意思且简单的 windows 靶机,这台靶机多次利用了信息枚举,利用不同的信息一步一步获得 root 权限 一、nmap 扫描 1)…...

使用DJL和PaddlePaddle的口罩检测详细指南

使用DJL和PaddlePaddle的口罩检测详细指南 完整代码 该项目利用DJL和PaddlePaddle的预训练模型,构建了一个口罩检测应用程序。该应用能够在图片中检测人脸,并将每张人脸分类为“戴口罩”或“未戴口罩”。我们将深入分析代码的每个部分,以便…...

基于stm32的多旋翼无人机(Multi-rotor UAV based on stm32)

在现代无人机技术中,多旋翼无人机因其稳定性和操控性而受到广泛应用。STM32微控制器因其强大的处理能力和丰富的外设接口,成为实现多旋翼无人机控制的理想选择。本文将详细介绍如何基于STM32实现多旋翼无人机的控制,包括硬件设计、软件设计和…...

第二十四章 v-model原理及v-model简化表单类组件封装

目录 一、v-model 原理 二、表单类组件封装 三、v-model简化组件封装代码 一、v-model 原理 原理:v-model本质上是一个语法糖。例如应用在输入框上,就是 value属性 和 input事件 的合写。 作用:提供数据的双向绑定 ① 数据变&#x…...

Java基于SpringBoot 的校园外卖点餐平台微信小程序(附源码,文档)

大家好,我是Java徐师兄,今天为大家带来的是Java基于SpringBoot 的校园外卖点餐平台微信小程序。该系统采用 Java 语言 开发,MySql 作为数据库,系统功能完善 ,实用性强 ,可供大学生实战项目参考使用。 博主介…...

细说STM32单片机USART中断收发RTC实时时间并改善其鲁棒性的方法

目录 一、工程目的 1、 目标 2、通讯协议及应对错误指令的处理目标 二、工程设置 三、程序改进 四、下载与调试 1、合规的指令 2、 proBuffer[0]不是# 3、proBuffer[4]不是; 4、指令长度小于5 5、指令长度大于5 6、proBuffer[2]或proBuffer[3]不是数字 7、;位于p…...

无人机场景 - 目标检测数据集 - 夜间车辆检测数据集下载「包含VOC、COCO、YOLO三种格式」

数据集介绍:无人机场景夜间车辆检测数据集,真实场景高质量图片数据,涉及场景丰富,比如夜间无人机场景城市道路行驶车辆图片、夜间无人机场景城市道边停车车辆图片、夜间无人机场景停车场车辆图片、夜间无人机场景小区车辆图片、夜…...

Dubbo 构建高效分布式服务架构

一、引言 随着软件系统的复杂性不断增加,传统的单体架构已经难以满足大规模业务的需求。分布式系统架构通过将系统拆分成多个独立的服务,实现了更好的可扩展性、可维护性和高可用性。在分布式系统中,服务之间的通信和协调是一个关键问题&…...

Unity XR Interaction Toolkit 开发教程(1):OpenXR 与 XRI 概述【3.0 以上版本】

文章目录 📕Unity XR 开发架构🔍底层插件(对接硬件)🔍高层 SDK(面向应用交互层) 📕OpenXR📕XR Interaction Toolkit🔍特点🔍XRI 能够实现的交互类…...

自扶正救生艇,保障水上救援的安全卫士_鼎跃安全

在应急事件中,自扶正救生艇能够发挥关键的救援和保障作用,确保救援人员和被困人员的生命安全,尤其在极端天气或突发水上事故中展现出明显优势。 在救援过程中如果遭遇翻船,救生艇能够迅速恢复正常姿态,确保救援人员不会…...

使用Gemini-OpenAI代理实现零成本AI模型迁移与协议转换

1. 项目概述:一个让OpenAI生态无缝接入Gemini的桥梁如果你和我一样,长期在AI应用开发的一线折腾,肯定遇到过这样的场景:手头有一个基于OpenAI API(比如ChatGPT的gpt-3.5-turbo或gpt-4)构建得相当成熟的应用…...

Chatmark:Slack聊天记录自动化转Markdown文档的利器

1. 项目概述:从“聊天记录”到“结构化文档”的桥梁如果你和我一样,经常需要从各种即时通讯工具(比如Slack、Teams,甚至是微信工作群)的聊天记录里,整理会议纪要、提取待办事项,或者把一次技术讨…...

论文Review 3DGS | Deformable Beta Splatting | 用 Beta Kernel 替代 Gaussian Kernel 的实时辐射场渲染方法

基本信息 题目:Deformable Beta Splatting 作者:Rong Liu, Dylan Sun, Meida Chen, Yue Wang, Andrew Feng 单位:University of Southern California / Institute for Creative Technologies 时间:2025 年 5 月,ar…...

基于大语言模型的抖音智能评论机器人:从原理到部署实践

1. 项目概述:当抖音遇上AI,一个自动回复机器人的诞生最近在刷抖音的时候,我经常看到一些账号的评论区里,作者回复得特别快,而且内容还挺有意思,有时候甚至能接上一些很刁钻的梗。一开始我还以为是真人24小时…...

qmc-decoder:专业QMC音频文件解密转换工具

qmc-decoder:专业QMC音频文件解密转换工具 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder qmc-decoder是一款高效、专业的QMC音频文件解密转换工具,…...

小白程序员看过来!TS同学半年逆袭AI大模型产品经理,收藏这份转行避坑指南!

TS同学从景观设计转行AI大模型产品经理的经历分享。他经历了离职、脱产学习、国企子公司项目被裁等波折,最终以20%薪资涨幅加入AI公司。文章重点介绍了他的心态调整、求职策略变化以及对“稳定”的新理解,同时探讨了AI时代教育孩子的思考。 本期嘉宾TS同…...

Flink 流处理核心算子深度剖析

一、ProcessFunction 与 MapFunction 区别 1、功能和区别 MapFunction:纯数据转换,一条进一条出,无状态、无时间、无侧输出,只能做简单映射。 ProcessFunction:全能处理,一条进可以 0/1/N 条出,支持状态、定时器、侧输出、访问时间,能实现复杂业务逻辑。 简单说:Map …...

RePKG终极指南:如何深度解析Wallpaper Engine资源包与TEX纹理转换

RePKG终极指南:如何深度解析Wallpaper Engine资源包与TEX纹理转换 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg RePKG是一款专为Wallpaper Engine设计的专业级资源包解…...

基于BLE与CircuitPython的远程服务器重启开关设计与实现

1. 项目概述与核心思路手头有几台电脑分散在家里各个角落,有时候它们死机了需要重启,但偏偏其中一台作为监控录像存储的服务器,被我塞进了一个带锁的柜子里。每次都得找钥匙、开门、按按钮,实在麻烦。这个需求催生了我动手做一个无…...

网盘直链解析工具终极指南:如何3分钟实现9大网盘下载加速

网盘直链解析工具终极指南:如何3分钟实现9大网盘下载加速 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天…...