用Python做一个CMD命令 很简单我教你自己做一个命令行!

2023-10-27

目录

运用到的库

1.click库

2.作者自己的库

正式开始 

hello.py

winOS.py

添加变量环境


简介

大家好我是PYmili ! 大家都应该会CMD命令吧! 什么你不会? 看连接:CMD命令大全

大家肯定跟我一样,懒得记!那我就想到自己用python做一个命令行呗!有想法一样的朋友点个赞!谢谢!


运用到的库

1.click库

click:官方github连接   

翻译官方介绍为:

用于以可组合的方式创建美丽的指挥线接口,只需尽可能少的代码。它是"命令线接口创建套件"。这是高度可配置的,但附带了明智的默认开箱即用。

它旨在使编写指挥线工具的过程快速而有趣,同时防止因无法实施预期的CLI API而造成任何挫折


作者也就是它写 命令行

安装click 

pip install click

2.作者自己的库

次此文章运用了作者自己的第三方库,作者自己写的。已经发布到pypi 可直接pip下载的

FastDataTime   用于查询电脑时间

pip install FastDataTime

 FolderProcessing     用于查询电脑中任何文件夹的所有文件

pip install FolderProcessing

正式开始 

hello.py

嘿嘿,我的废话太多了我们直接看代码 

文件名  hello.py

import click #导入库click

@click.command()#设置命令
@click.option('--count', default=1, help='Number of greetings. 问候的次数。')
@click.option('--name', prompt='Your name',
              help='The person to greet. 要问候的人。')
def hello(count, name):#主函数
    #"""你可以输入以下命令."""
    """$一个简单的程序,它向这个名字打招呼,表示总的计数次数
        | Simple program that greets NAME for a total of COUNT times
    """
    #此处的"""  """用户查询命令时会输出,出来。
    for x in range(count):
        click.echo('Hello %s!' % name)

if __name__ == '__main__':
    hello()

这里就有意思了,这里只使用了 click创造出3个命令为   1.  --help 查看所有命令 2.  --count  输出次数  3.  --name  要输出的名字。


使用方法:先要 cd 到你 hello.py 的目录 如下:

 然后输入我们的 --help 查询命令:

python hello.py --help

 

就会看见如上图的样式,是不是有那个感觉了!这就是一个官方实例,接下来我们就做自己的 命令了!


winOS.py

import click #click库
from FastDataTime import time_xz as xz #作者制作的库,大家可以更换成其他如:time
import os #os 库 用于打开百度网页
from FolderProcessing import view as vi #作者制作的库,大家可以更换成其他,用于查看文件夹

def os_baidu(): #打开百度网页
    os.system("start www.baidu.com")

def xz_sj(): #查看电脑现在时间
    xz.time_xz('jh')

def OSlist(): #查看文件夹函数
    vi.OsList(input("位置:"))

@click.group()
def cli():
    pass

@click.command()
def wintime(): #命令1
    click.echo('系统时间为:')
    xz_sj()
@click.command()
def Osbaidu(): #命令2
    click.echo('打开百度网页')
    os_baidu()

@click.command()
def oList(): #命令3
    click.echo("输入你要查询文件夹的位置,格式如: C:\\xxx\\xxx\\xxx\\")
    OSlist()

cli.add_command(wintime) #请勿删除,每次添加一个命令就要使用这种方式
cli.add_command(Osbaidu)
cli.add_command(oList)
cli()

这里就是一个很好的模板了,大家要添加命令都可以通过这种方式添加。


添加变量环境

做好之后我们就要做 环境了 这样可以快速执行命令,不要每次都要cd 到指定目录太繁琐!

我们给自己制作的程序位置添加一个变量环境

1.右键计算机,点击属性

 2.打开属性后点击----高级系统设置

3.打开变量环境 

  

 3.新建一个

 


4.填写变量名 与你的文件名一致 我的是 winOS  浏览目录选择你 .py文件 的 文件夹

如下:我的是  "F:\xxx\xxx\xxx"这里是存放 .py 文件的位置

接下来就可以执行命令了!


 


学会了吗?学会了就点个赞吧!谢谢!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用Python做一个CMD命令 很简单我教你自己做一个命令行! 的相关文章

随机推荐

  • 记录自己在结构光三维重建领域的学习过程(一)

    仿真数据集与真是数据集之间差异较大 二者的网络均不可完美预测另一种数据 寻找解决办法 首先确定是不是数据的问题 阅读论文 Light field structured light projection data generation wit
  • 关于存储过程中SQL语句IN条件传参注意说

    背景说明 在数据库操作中我们经常会用到查询语句 在一些情况下 需要使用到IN条件 正常的查询中IN需要注意的是最好in中的参数不能超过1000个 超过1000的时候oracle会抛出异常 这个如何处理先不提 这次要说的是 如果在存储过程中使
  • 某单位分配到一个地址块 136.23.12.64/26。现在需要进一步划分为4个一样大的子网。试问:

    1 每个子网的网络前缀有多长 2 每个子网中有多少个地址 3 每个子网的地址块是什么 4 每一个子网可分配给主机使用的最小地址和最大地址是什么 姐
  • JS中的邮箱验证

    通过js在前端对用户输入进行校验 即可以产生较好的交互体验 也可以减轻后台的压力 邮箱的基本格式要求 1 只能以单词字符开头 即a z A Z 0 9 2 只能有一个 3 后面有一个到多个点 并且点不能在最后 4 特殊字符不能开头和结尾 使
  • 数据存储,详细讲解

    数据存储 详细讲解 数据类型的介绍 整形的内存存储 大小端介绍 浮点数的存储 数据类型的介绍 1 内置类型 char 字符数据类型 1 short 短整型 2 int 整形 4 long 长整型 4 8 long long 更长的整形 8
  • matlab之数组反序输出

    a 1 2 3 4 5 a end 1 1 5 4 3 2 1 转载于 https www cnblogs com yibeimingyue p 11201805 html
  • 高阶数据结构之并查集

    文章目录 并查集 并查集的常规实现 并查集的简化实现 算法题 模板 朴素的并查集 维护size的并查集 维护到祖宗节点的并查集 并查集 在某些应用问题中 需要将n个不同的元素划分成一些不想交的集合 开始时 每个元素自成一个单元集合 然后按照
  • 一文搞懂状态模式

    原理 状态机有三个组成部分 状态 事件 动作 遇到不同的事件会触发状态的转移和动作的执行 不过动作不是必须的 可能只有状态的转移 没有动作的执行 状态模式的目的就是实现状态机 案例带入 比如 超级马里奥 在游戏中 马里奥可以变身为多种形态
  • 抖音究竟对线下生意有没有价值?

    戳上方增长黑盒Growthbox点亮星标 深度研究不错过 主笔 邹小困 研究员 彬超 Emma 出品 增长黑盒研究组 01 防火防盗防抖音 互联网世界的后起之秀字节跳动 如同进击的巨人 在短短几年内就已将业务的触角伸向各个领域 图为chat
  • Java基础(IO输入输出流,读写文件操作,对象序列化)

    IO 输入输出流基本概念 输入流 信息从程序空间之外的地方流入程序空间里面 输出流 信息从程序空间里面流到程序空间之外的地方 输入输出流的分类 从流的方法划分 输入流 输入流 从流的分工划分 节点流 访问文件进行输入输出操作的流 处理流 在
  • IDEA常见错误:程序包org.apache.commons.xxx不存在

    具体错误 Could not transfer artifact org apache commons commons text pom 1 1 from to Nexus Repository Nexus Repository Manag
  • 全新【Photoshop 2022 for mac】中文版发布下载 支持M1 M1X M2处理器 详细安装教程

    Adobe PhotoShop 2022 for mac 23 0 是 Adobe 2022 中最重要的组成软件之一 PhotoShop主要用来处理图像 是行业内最流行的图像处理软件 ps 2022 更加智能化和强大 Adobe Photo
  • CAN db++(创建DBC文件)学习笔记

    CAN db 学习笔记 1 新建文件 2 模块介绍 3 建立DBC的过程 自下而上 信号 报文 节点 1 信号 2 报文 3 建立报文与信号的关系 4 建立信号在报文里的位置 因为前面定义了报文的数据长度 且把信号放到了报文里面 那么信号在
  • 【Linux_CentOS7】 systemctl restart named报错-Job for named.service failed because the control process

    14天阅读挑战赛 努力是为了不平庸 算法学习有些时候是枯燥的 这一次 让我们先人一步 趣学算法 欢迎记录下你的那些努力时刻 算法学习知识点 算法题解 遇到的算法bug 等等 在分享的同时加深对于算法的理解 同时吸收他人的奇思妙想 一起见证技
  • Taro+vue3小程序开启分享他人和分享到朋友圈

    import Taro useShareAppMessage useShareTimeline from tarojs taro onMounted gt Taro showShareMenu withShareTicket true me
  • 有趣的java代码_求一些有趣的java小程序?

    不请自来 用eclipse写的一个输出爱心的小程序 应该算是比较有趣的吧 下面是程序内容 public class love public static void main String args TODO Auto generated m
  • BeanUtils.copyProperties的用法(超详细,建议收藏)

    常见场景 我们如果有两个具有很多相同属性名的JavaBean对象a和b 想把a中的属性赋值到b 例如 接口中将接收到的前端请求参数XxxReqVo 我们想把这个入参转化为XxxQuery对象作为数据库的查询条件对象 传统做法是手动set 即
  • Head First设计模式——策略模式

    Head First设计模式 是一本介绍设计模式的书籍 书中的设计模式主要是用Java语言进行实现 由于本人对C 比较熟悉 因此在阅读这本书籍时 尽自己所能 用C 重新去实现书中所涉及到的设计模式 若有错误或需要进一步讨论之处 望阅览者不吝
  • Uniapp 解决组件在官方文档不支持的事件上,接收小程序原生组件事件

    现在需要在抖音小程序上使用加粉丝群功能 官方 button 有自带这个功能 但是 Uniapp 官网并没有支持 一个是 open type 类型 一个是回调事件 bindjoingroup
  • 用Python做一个CMD命令 很简单我教你自己做一个命令行!

    目录 运用到的库 1 click库 2 作者自己的库 正式开始 hello py winOS py 添加变量环境 简介 大家好我是PYmili 大家都应该会CMD命令吧 什么你不会 看连接 CMD命令大全 大家肯定跟我一样 懒得记 那我就想