sys.argv —— 登陆的例子解释其效率高

  拿登陆的程序来讲,我们在代码中会让用户输入内容,用到input,然后拿用户的输入与正确的数据判断:

username = input('用户名:').strip()
password = input('密码:').strip()
if username == 'whw' and password == '123':
    print('登陆成功!')
else:
    print('登陆失败!')

  但是,这种方式在效率上很差劲!因为在input的时候,CPU处于阻塞状态!

 

  再说一说sys.argv(需要在命令行运行py文件)

import sys

print(sys.argv)

  这段代码的路径为:E:\practice

  然后我们在,命令行运行:

python E:\practice\sys_argv.py 123 456 789

  结果为:

['E:\\practice\\sys_argv.py', '123', '456', '789']

  我们可以看到,得到的是一个列表,列表的第一个值为当前py文件的路径,后面的值是我们在后面加的参数,这样我们不用阻塞就可以完成登陆认证了,所以,用sys.argv可以这样优化登陆程序:

  我们在命令行运行:

python E:\practice\sys_argv.py whw 123

  结果为:

登陆成功!

  我们输一个错误的用户名跟密码:

python E:\practice\sys_argv.py whwa 1232

  结果为:

登陆失败!

 

posted on 2019-04-16 22:05  江湖乄夜雨  阅读(104)  评论(0编辑  收藏  举报