解惑Python模块学习,该如何着手操作...

新买了一张床

上学时候就听过一个梗,说某公司新入职的员工每人发一个睡袋,为了能让员工在通宵加班的时候,能小憩一会儿。当时年少无知的我以为是个笑话,谁知道如今把自己活到了笑话之中。陪了我两年的公司午休床坏了,然后甄选半天,才找了一个中意的下单。谁知道买回来的床就问题。这床吧,一睡上去就起不来啊…几次想退货,但怕老板打我都忍了下来,自己默默承受吧。哈哈…

Python模块

晚上和朋友聊天,说到公司要求精兵计划,全员都要有编程能力。然后C、Java、Python…对于零基础入门的,当然是选择Python的人较多了。可朋友说他只是看了简单的语法,可python有那么多的模块,连名字都不知道,该怎么学啊!针对python模块获取,告诉大家几个方法…
通常大家在安装完成python后,都知道python自带了一个通过tkinter编写的IDLE工具,但除了IDLE还有什么呢?当然少不了文档喽…
我们点击左下角的开始菜单,在搜索栏中输入python,结果如下:
开始菜单

第一个是python命令行工具,相当于在windows命令行中输入python后的效果。
第二个就是python自带的IDLE图形化编程工具
第三个呢?看这个图标就知道是一个chm格式的文档工具。它在什么路径呢?Python家目录下的Doc文件夹内
python chm文档
大家可以看到里面内容还是比较全的…
第四个呢?一个网页版的python文档说明
web页面说明

如何使用命令启动呢?**python -m pydoc -p xxxx**我们可以指定端口号启动。
除了这些,有其他的么?当然…
help命令,我们通过help(‘modules’)可以看到所有已安装的模块,之后通过输入具体的模块名称来访问模块说明:
help获取模块
获取模块说明

刚才说到了获取所有模块,那如何获取我安装的模块呢?使用pip list即可查看:
pip获取模块

有人说,这些文档都是英文的,没翻译怎么看…其实,推荐大家就这么看,别人翻译过的东西,哪里有原版的完整。当然,如果你说你英语不达标,也可以找翻译后的内容看看,当然最好看看我之前的文章:Python开发英语单词自测工具,助你逆袭单词王!,哈哈。
为什么不推荐看网上的翻译或者帖子呢,**因为有太多网站的内容是过时的,或者错误的!**举个例子

交互式输入

我们在学习python时,经常遇到需要根据用户的输入内容来做下一步操纵的事情,此时我们需要用到input模块。然后网上查查,就看到铺天盖地的都在说,input使用需谨慎,会造成漏洞,窃取你的数据。
input漏洞

很多朋友就心慌了,这还怎么使用啊!他也有解决办法: 在python2中,推荐使用raw_input()函数,尽量不要使用input()函数,在python3中,input()函数被默认改为默认输入为字符串。 哦,原来看了半天python3根本没有可能出现上面通篇文章的问题,呵呵了…
哪里来的漏洞?

如果你直接通过上面的命令看说明,哪儿需要浪费这么多时间:

help(input)
Help on built-in function input in module builtins:
input(prompt=None, /)
Read a string from standard input. The trailing newline is stripped.

The prompt string, if given, is printed to standard output without a
trailing newline before reading input.

If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.
On *nix systems, readline is used if available.

交互安全

既然说到了input和安全,就不能不说一下关于交互输入密码的问题。当我们在使用input输入密码时,会将用户的密码通过明文打印,那怎么行…
此时,我们需要更换模块,python为大家准备了一个专门用来输入密码的交互式模块 getpass
getpass的使用

要注意的是,getpass模块在命令行下使用正常,但如果是在编辑器中,则无法完美运行。
命令行下使用时,会提示存在安全隐患,并且密码会明文显示
python命令行

用户输入的时候也无法像html的input password一样输入星号,而是毫无反应。

针对以上问题该怎么处理呢?推荐大家使用:
windows环境下: msvcrt模块
linux环境下: termios

但需要注意一点不论是什么模块,在IDE的代码编辑器下都无法正常使用,因为编辑器内不会加换行捕获为程序结束!

我的电脑是windows环境的,所以为大家展示下msvcrt模块的使用:

# -*- coding: utf-8 -*-
# @Author   : 王翔
# @WeChat   : King_Uranus
# @公众号    : 清风Python
# @Date     : 2019/9/26 22:54
# @Software : PyCharm
# @version  :Python 3.7.3
# @File     : InputPassword.py


import msvcrt
import os

print("Please input your password:")
chars = []
while True:
    newChar = msvcrt.getch().decode(encoding="utf-8")
    if newChar in os.linesep:  # 如果是换行,则输入结束
        break
    elif newChar == '\b':
        if chars:
            del chars[-1]
            msvcrt.putch('\b'.encode(encoding='utf-8'))
            msvcrt.putch(' '.encode(encoding='utf-8'))
            msvcrt.putch('\b'.encode(encoding='utf-8'))
    else:
        chars.append(newChar)
        msvcrt.putch('*'.encode(encoding='utf-8'))  # 显示为星号


pwd = (''.join(chars))
print("\nyour password is:{0}".format(pwd))

在这里插入图片描述

往期文章精选

Python为微信头像任意添加装饰!
如何把图片变得炫酷多彩,Python教你这样实现!
Android手机打造你的Python&Java开发工具!
来看看Python炫酷的颜色输出与进度条打印
Python开发英语单词自测工具,助你逆袭单词王!
使用Python开发小说下载器,不再为下载小说而发愁
使用Python编写打字训练小程序
Python开发GUI工具介绍,实战:将图片转化为素描画!
Python一秒搭建ftp服务器,帮助你在局域网共享文件
将Android手机打造成你的python开发者桌面
Flask开发VIP版 HttpServer
python让高清素材图片占满你的硬盘!

The End

OK,今天的内容就到这里,如果觉得内容对你有所帮助,欢迎点击文章右下角的“在看”。
期待你关注我的公众号 清风Python,如果觉得不错,希望能动动手指转发给你身边的朋友们。
希望每周一至五清晨的7点10分,都能让清风Python的知识文章叫醒大家!谢谢……
清风Python

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值