怎样用Python语言编一个小程序?

怎样用Python语言编一个小程序?,第1张

首先,需要安装好编程环境。比如python的idel。

其次,要明确需求,余老根据实际需求编写代码写出要实现的功能逻辑。

然后,对代码进行调试验证,进行迹毁帆执行姿雹。

对脚本进行封装,形成可执行文件。

1、cmd007 作为自定义命令名称

2、cmd007 hello --name=Lily作为自定义功能1的名称hello打招呼,输出:Hi, Lily

3、cmd007 eat --food=fish作为自定义功能2的名称food吃东西,输出:I like to eat fish

(一)目录结构如下:

cmd007 # 文件夹必须和自定义命令同名

│ __init__.py

│ __main__.py

(二)实现自定义命令和功能1

在__main__.py中

View Code

来到cmd007的上级目录下,调出命令行客户端,执行命名:

python cmd007

python cmd007 -V

python cmd007 hello --name=Lily --count=3

python cmd007 hello -n Lilei -c 2

分别输出:

提示粗兆:如果将这个python包cmd007打包发布,然后安装到python中去,那么每行命令就不用输入python关键字了。

(三)实现自定义命令、功能1、功能2

在__main__.py中增加代码

# 自定义功能2:eat

@cli.command(name="eat")

@click.option('-f', '--food', help="please input your like food")

@click.option('-a', '--and-you', help="ask echo other", default=False)

def hello_command(food, and_you):

print("I like to eat {0}".format(food))

if and_you in ['t', 'T', 'true', 'True', True, 1, "1"]:

print("And what is your favorite food ?")

 

完整版:

View Code

执行

python cmd007 eat -f fish --and-you=1

输出

延伸:

@click.option()中的参数详解:https://blog.csdn.net/weixin_31866177/article/details/82111586

每个参数解释如下:

name or flags - 选项字符串的名字或者列表,例如 foo 或者 -f, --foo。

action - 命令行遇态凳森到参数时的动作,默认值是 store。

store_const,表示赋值为const;

append,将遇到的值存储成列表,也就是如果参数重复则会保存多个值

append_const,将参数规范中定义的一个值保存到一个列表;

count,存储遇到的次数;此外,也可以继承 argparse.Action 自定义参数解析;

nargs - 应该读取的命令行参数个数,可以是具体的数字,或者是?号,当不指定值时对于 Positional argument 使用 default,对于 Optional argument 使用 const;或者是 * 号,表示 0 或多个参数;或者是 + 号表示 1 或多个参数。

const - action 和 nargs 所需要的常量值。

default - 不指定参数时的默认值。

type - 命令行参数应该被转换成的类型。

choices - 参数可允许的值的一个容器。

required - 可选参数是否可以省略 (仅针对可选参数)。

help - 参数的帮助信息,当指定为 argparse.SUPPRESS 时表示不显示该参数的帮助信息.

metavar - 在 usage 说明中的参数名称,对于必选参数默认就是参数名称,对于可选参帆亩数默认是全大写的参数名称.

dest - 解析后的参数名称,默认情况下,对于可选参数选取最长的名称,中划线转换为下划线.

name=input('请输入用户名:')

while True:

     #name=input('请输入用户名:')

     if name=='1':

          while True:

               try:

                    powerword=eval(input('请输入密码:'))

             亮拿       if powerword==123456:

                         name=100

                   带嫌      break

                    else:

                         print('密码不正确,请重新输入:')

               except:

                    print('密码不正确,请重新输入:')           

     elif name==100:

 敬行搭              break

     else:

          print('用户名不正确,请重新输入:')

          name=input('请输入用户名:')

print('欢迎回来')


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12360601.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存