Python模块

晚上和朋友聊天,说到公司要求精兵计划,全员都要有编程能力。然后C、Java、Python…对于零基础入门的,当然是选择Python的人较多了。可朋友说他只是看了简单的语法,可python有那么多的模块,连名字都不知道,该怎么学啊!针对python模块获取,告诉大家几个方法…

通常大家在安装完成python后,都知道python自带了一个通过tkinter编写的IDLE工具,但除了IDLE还有什么呢?当然少不了文档喽…

我们点击左下角的开始菜单,在搜索栏中输入python,结果如下:

第一个是python命令行工具,相当于在windows命令行中输入python后的效果。

第二个就是python自带的IDLE图形化编程工具

第三个呢?看这个图标就知道是一个chm格式的文档工具。它在什么路径呢?Python家目录下的Doc文件夹内

大家可以看到里面内容还是比较全的…

第四个呢?一个网页版的python文档说明

如何使用命令启动呢?**python -m pydoc -p xxxx**我们可以指定端口号启动。

除了这些,有其他的么?当然…

help命令,我们通过help(‘modules’)可以看到所有已安装的模块,之后通过输入具体的模块名称来访问模块说明:

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

有人说,这些文档都是英文的,没翻译怎么看…其实,推荐大家就这么看,别人翻译过的东西,哪里有原版的完整。当然,如果你说你英语不达标,也可以找翻译后的内容看看,当然最好看看我之前的文章:Python开发英语单词自测工具,助你逆袭单词王!,哈哈。

为什么不推荐看网上的翻译或者帖子呢,**因为有太多网站的内容是过时的,或者错误的!**举个例子

交互式输入

我们在学习python时,经常遇到需要根据用户的输入内容来做下一步操纵的事情,此时我们需要用到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模块在命令行下使用正常,但如果是在编辑器中,则无法完美运行。

命令行下使用时,会提示存在安全隐患,并且密码会明文显示

用户输入的时候也无法像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模块学习,该如何着手操作...的更多相关文章

  1. 【目录】Python模块学习系列

    目录:Python模块学习笔记 1.Python模块学习 - Paramiko  - 主机管理 2.Python模块学习 - Fileinput - 读取文件 3.Python模块学习 - Confi ...

  2. 【转】Python模块学习 - fnmatch & glob

    [转]Python模块学习 - fnmatch & glob 介绍 fnmatch 和 glob 模块都是用来做字符串匹配文件名的标准库. fnmatch模块 大部分情况下使用字符串匹配查找特 ...

  3. Python模块学习filecmp文件比较

    Python模块学习filecmp文件比较 filecmp模块用于比较文件及文件夹的内容,它是一个轻量级的工具,使用非常简单.python标准库还提供了difflib模块用于比较文件的内容.关于dif ...

  4. Python模块学习

    6. Modules If you quit from the Python interpreter and enter it again, the definitions you have made ...

  5. python模块学习第 0000 题

    将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果. 类似于图中效果: 好可爱>%<! 题目来源:https://github.com/Yixiao ...

  6. Python模块学习:logging 日志记录

    原文出处: DarkBull    许多应用程序中都会有日志模块,用于记录系统在运行过程中的一些关键信息,以便于对系统的运行状况进行跟踪.在.NET平台中,有非常著名的第三方开源日志组件log4net ...

  7. python模块学习(二)

    configparser模块 软件常见文档格式如下: [DEFAULT]ServerAliveInterval = 45Compression = yesCompressionLevel = 9For ...

  8. Python模块学习系列

    python模块-time python模块-datetime python模块-OS模块详解

  9. Python模块学习遇到的问题

    Python使用import导入模块时报ValueError: source code string cannot contain null bytes的解决方案 Python使用import导入模块 ...

随机推荐

  1. 通俗易懂了解Vue的计算属性

    1.前言 之前在学习vue的过程中,一直没有搞明白计算属性是个怎么回事,以及为什么要有计算属性,使用计算属性有什么好处.今天花时间翻了翻官方文档,才搞清楚其中一二,现将学习心得总结记录如下. 2.为什 ...

  2. dubbo监控安装

    tar xf dubbo-monitor-simple-2.8.4-assembly.tar.gz cd dubbo-monitor-simple-2.8.4 vi conf/dubbo.proper ...

  3. 【北京/上海/南京】【部门直推】【可查询】【实习&社招】字节跳动数据平台前端内推

    [北京/上海/南京][部门直推][可查询][实习&社招]字节跳动数据平台前端内推 重要信息,写在前面  [投递邮箱]chengxinsong@bytedance.com [微信扫码] 2019 ...

  4. Okhttp3源码解析

    首先是Okhttp的使用: //缓存文件夹 File cacheFile = new File(getExternalCacheDir().toString(), "cache") ...

  5. Python连接SqlServer+GUI嵌入式——学生管理系统1.0

    学生管理系统1.0 1.建学生数据库 2.数据库嵌入高级语言(Python) 3.界面设计 简化思路: 1.先通过SqlServer2012建立学生数据库,包括账号.密码,姓名.选课等信息 2.运用P ...

  6. 用正则表达式获取URL中的查询参数

    总结获取url中查询参数的两种方式 通过正则表达式获取单个参数 url中的所有查询参数可以通过 window.location.search 字段获取,以字符串的形式返回.并有固定的格式 ?param ...

  7. java编程思想第四版第七章习题

    (略) (略) (略) (略) 创建两个带有默认构造器(空参数列表)的类A和类B.从A中继承产生一个名为C的新,并在C内创建一个B类的成员.不要给C编写构造器.创建一个C类的对象并观察其结果. pac ...

  8. 力扣(LeetCode)学生出勤记录I 个人题解

    给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符: 'A' : Absent,缺勤 'L' : Late,迟到 'P' : Present,到场 如果一个学生的出勤记录中不超过一个' ...

  9. opencv 4 图像处理 (1 线性滤波,非线性滤波)

    1 线性滤波:方框滤波.均值滤波.高斯滤波 1.1方框滤波(box Filter) 1.2均值滤波(blur函数) 缺陷: 1.3高斯滤波(GaussianBlur函数) 1.4线性滤波核心API函数 ...

  10. bert+seq2seq 周公解梦,看AI如何解析你的梦境?【转】

    介绍 在参与的项目和产品中,涉及到模型和算法的需求,主要以自然语言处理(NLP)和知识图谱(KG)为主.NLP涉及面太广,而聚焦在具体场景下,想要生产落地的还需要花很多功夫. 作为NLP的主要方向,情 ...