在python中叫做模块,其他语言中叫做类库。python中的模块有三种:内置模块,第三方模块,自定义模块。

模块的使用:

  先导入,import+模块名,再使用,模块名+函数名()

  .py文件与.py文件的集合文件夹和.py文件都可以称为模块

  导入的模块在文件夹中:

    import 文件夹名.文件名      #导入

    文件夹名.文件名.函数名()     #执行

为什么使用模块:

  将代码归类,使代码更简洁易读。

导入模块的依据:

  import sys

  sys.path      #该条命令输出一个列表,内容为每个可能存放模块的地址文件路径,按照输出顺序依次在文件路径内寻找该模块。

  如果在sys.path意外的地址导入模块:

    import sys

    sys.path.append("文件路径E:\\....")

    import 模块名

注意:自定义的模块名不要与内置的模块名重名。

导入模块的方法:

  from 模块名 import 函数名

  from 模块名 import *

  函数名()            #直接执行

from lib import commons as lib_commons               #lib_commons是给commons取个别名
from src import commons as src_commons #否则无法区分相同的函数名
lib_commons.f1()
src_commons.f1()

外部的模块的导入:

  pip3 install 模块名

  源码安装:下载后解压,在cmd中输入python3 setup.py install

序列化的模块:

  import json    #更加适合跨语言,字符串,基本数据类型

json.dumps() ^ json.loads()

  

li_ = json.dumps(li, ensure_ascii=False)    #加入参数显示中文(不再显示16进制的编码)
import json

dic = {"k1":"v1"}
print(dic,type(dic))
result = json.dumps(dic) #将python基本数据类型转为字符串
print(result,type(result)) S1 = '{"k1":"123"}'
S = json.loads(S1) #将python的字符串转化成基本数据类型
print(S,type(S))
import json

r = json.dumps([11,22,33])    #基本数据类型转字符串
print(r,type(r)) li = '["alex","guido"]' #在反序列化时,内部一定使用双引号
result = json.loads(li)
print(result,type(result))

       json.dump() ^ json.load()

import json

li = [1,22,33]
json.dump(li,open("文件名“,"w")) #写入文件
li = json.load(open("文件名","r")) #从文件读取

  import pickle    #可以对python的所有数据类型做操作,仅适于python

pickle.dumps() ^ pickle.loads()

import pickle
li = [11,22,33]
r = pickle.dumps(li)
print(r)
result = pickle.loads(r)
print(result)

pickle.dump() ^ pickle.load()

import pickle
li = [11,22,33]
pickle.dump(li,open("文件夹","wb")
result = pickle.load("文件夹“,”rb")
print(result,type(result))

  import requests

import requests
response = requests.get("http://......") #发送http请求把请求返回的内容封装到response中
response.encoding = "utf-8"
dic = json.loads(response.text) #.text表示获取返回的内容
print(type(dic))

time  模块

#_*_coding:utf-8_*_
__author__ = 'Alex Li' import time # print(time.clock()) #返回处理器时间,3.3开始已废弃 , 改成了time.process_time()测量处理器运算时间,不包括sleep时间,不稳定,mac上测不出来
# print(time.altzone) #返回与utc时间的时间差,以秒计算\
# print(time.asctime()) #返回时间格式"Fri Aug 19 11:14:16 2016",
# print(time.localtime()) #返回本地时间 的struct time对象格式
# print(time.gmtime(time.time()-800000)) #返回utc时间的struc时间对象格式 # print(time.asctime(time.localtime())) #返回时间格式"Fri Aug 19 11:14:16 2016",
#print(time.ctime()) #返回Fri Aug 19 12:38:29 2016 格式, 同上 # 日期字符串 转成 时间戳
# string_2_struct = time.strptime("2016/05/22","%Y/%m/%d") #将 日期字符串 转成 struct时间对象格式
# print(string_2_struct)
# #
# struct_2_stamp = time.mktime(string_2_struct) #将struct时间对象转成时间戳
# print(struct_2_stamp) #将时间戳转为字符串格式
# print(time.gmtime(time.time()-86640)) #将utc时间戳转换成struct_time格式
# print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime()) ) #将utc struct_time格式转成指定的字符串格式 #时间加减
import datetime # print(datetime.datetime.now()) #返回 2016-08-19 12:47:03.941925
#print(datetime.date.fromtimestamp(time.time()) ) # 时间戳直接转成日期格式 2016-08-19
# print(datetime.datetime.now() )
# print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天,()内的参数必须为整型(hours=int(1))
# print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天
# print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时
# print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30分 #
# c_time = datetime.datetime.now()
# print(c_time.replace(minute=3,hour=2)) #时间替换

random  模块

随机数

mport random

print random.random()

print random.randint(1,2)

print random.randrange(1,10)

 生成随机验证码

import random

checkcode = ''

for i in range(4):

    current = random.randrange(0,4)

    if current != i:

        temp = chr(random.randint(65,90))

    else:

        temp = random.randint(0,9)

    checkcode += str(temp)

print checkcode

OS  模块

提供对操作系统进行调用的接口

os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd os.curdir 返回当前目录: ('.') os.pardir 获取当前目录的父目录字符串名:('..') os.makedirs('dirname1/dirname2') 可生成多层递归目录 os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推 os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirname os.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname os.listdir('dirname') 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印 os.remove() 删除一个文件 os.rename("oldname","newname") 重命名文件/目录 os.stat('path/filename') 获取文件/目录信息 os.sep 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/" os.linesep 输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n" os.pathsep 输出用于分割文件路径的字符串 os.name 输出字符串指示当前使用平台。win->'nt'; Linux->'posix' os.system("bash command") 运行shell命令,直接显示 os.environ 获取系统环境变量 os.getenv()和os.putenv() 分别用来读取和设置环境变量 os.path.abspath(path) 返回path规范化的绝对路径 os.path.split(path) 将path分割成目录和文件名二元组返回 os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素 os.path.basename(path) 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素 os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False os.path.isabs(path) 如果path是绝对路径,返回True os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False os.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回False os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略 os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间 os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间

sys  模块

sys.argv           命令行参数List,第一个元素是程序本身路径

sys.exit(n)        退出程序,正常退出时exit(0)

sys.version        获取Python解释程序的版本信息

sys.maxint         最大的Int值

sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值

sys.platform       返回操作系统平台名称

sys.stdout.write('please:')              标准输出

val = sys.stdin.readline()[:-1]          标准输入

sys.stderr                               标准错误流

命令行参数

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Guido's admirers
#filename:cat.py import sys def readfile(filename):
'''print a file to the standard output.'''
f = open(filename)
while True:
line = f.readline()
if len(line) == 0:
break
print(line)
f.close() if len(sys.argv) < 2:
print("Nm action specified.")
sys.exit() if sys.argv[1].startswith("-"):
option = sys.argv[1][2:]
if option == "version":
print("Version 1.2")
elif option == "help":
print('''\
This program prints files to the standard output.
Any number of files can be specified.
Optinons include:
-version:Prints the version number
-help:Display this help''')
else:
print("Unknown option.")
sys.exit()
else:
for filename in sys.argv[1:]:
readfile(filename) 执行结果:
$python cat.py
No action specified. $python cat.py -help
This program prints files to the standard output.
        Any number of files can be specified.
Optinons include:
-version:Prints the version number
-help:Display this help $python cat.py -version
Version 1.2 $python cat.py -nonsense
Unknown option. $python cat.py poem.txt
Programming is fun
When the work is done
if you wanna make your work also fun:
  use Python!

这个程序用来模范Linux的cat命令。你只要指明某些文本文件的名字,这个程序会把他们打印输出。

在python程序运行的时候,即不是在交互模式下,在sys.argv列表中总是至少有一个项目。它就是当前运行的程序名称,作为sys.argv[0]。其他的命令行参数在这个项目之后。

为了使这个程序对用户更加友好,我们提供了一些用户可以指定的选项来了解更多的程序的内容。我们使用第一个参数来检验我们的程序是否被指定了选项。如果使用了-version选项,程序的版本号将被打印出来。类似的,如果指定了-help选项,我们提供一些关于程序的解释。我们使用sys.exit函数退出正在运行的程序。和以往一样,你可以看一下help(sys.exit)来了解更多的详情。
如果没有指定任何选项,而是为程序提供文件名的话,他就简单的打印出每个文件的每一行,按照命令行中的顺序一个文件接着一个文件的打印。

名称cat是concatenate的缩写,他基本上表明了程序的功能——它可以在输出打印一个文件或者把两个或两个以上文件连接在一起的打印。

模块(python的标准库)的更多相关文章

  1. Python 3标准库 第十四章 应用构建模块

    Python 3标准库 The Python3 Standard Library by  Example -----------------------------------------第十四章   ...

  2. Python的标准库介绍与常用的第三方库

    Python的标准库介绍与常用的第三方库 Python的标准库: datetime:为日期和时间的处理提供了简单和复杂的方法. zlib:以下模块直接支持通用的数据打包和压缩格式:zlib,gzip, ...

  3. 【python】标准库的大致认识

    正如那句 Python 社区中很有名的话所说的:“battery included”,Python 的一大好处在于它有一套很有用的标准库(standard library).标准库是随着 Python ...

  4. python 使用标准库连接linux实现scp和执行命令

    import stat import pexpect 只显示关键代码: sqldb = localpath+database //获取database名字 if os.path.exists(sqld ...

  5. Python模块进阶、标准库、扩展库

    模块进阶 Python有一套很有用的标准库(standard library).标准库会随着Python解释器,一起安装在你的电脑中的. 它是Python的一个组成部分.这些标准库是Python为你准 ...

  6. python常用标准库(时间模块 time和datetime)

    常用的标准库 time时间模块 import time time -- 获取本地时间戳 时间戳又被称之为是Unix时间戳,原本是在Unix系统中的计时工具. 它的含义是从1970年1月1日(UTC/G ...

  7. python常用标准库(os系统模块、shutil文件操作模块)

    常用的标准库 系统模块 import os 系统模块用于对系统进行操作. 常用方法 os模块的常用方法有数十种之多,本文中只选出最常用的几种,其余的还有权限操作.文件的删除创建等详细资料可以参考官方文 ...

  8. python常用标准库(压缩包模块zipfile和tarfile)

    常用的标准库 在我们常用的系统windows和Linux系统中有很多支持的压缩包格式,包括但不限于以下种类:rar.zip.tar,以下的标准库的作用就是用于压缩解压缩其中一些格式的压缩包. zip格 ...

  9. python常用标准库(math数学模块和random随机模块)

    常用的标准库 数学模块 import math ceil -- 上取整 对一个数向上取整(进一法),取相邻最近的两个整数的最大值. import math res = math.ceil(4.1) p ...

  10. python linecache标准库基础学习

    #python标准库基础之:linecacge:高效读取文本文件#说明与作用"""可以从文件或者导入python模块获取文件,维护一个结果缓存,从而可以更高效地从相同文件 ...

随机推荐

  1. 【php】如何配置自主域名腾讯企业邮箱

    腾讯企业邮配置 protocal ssl smtp port 465 host smtp.exmail.qq.com user email account passwd email passwd

  2. 24.VUE学习之-变异方法filter与regexp实现评论搜索功能

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. 排序算法C语言实现——插入排序(优于冒泡)

    为什么插入排序要优于冒泡? 插入排序在于向已排序序列中插入新元素,主要的动作是移动元素,涉及1次赋值,即data[j] = data[j-1]; 而冒泡排序在于相邻元素交换位置,涉及3条赋值,即iTm ...

  4. [Hdu3555] Bomb(数位DP)

    Description 题意就是找0到N有多少个数中含有49. \(1\leq N \leq2^{63}-1\) Solution 数位DP,与hdu3652类似 \(F[i][state]\)表示位 ...

  5. 回顾Scrum学习:《Scrum实战》第4次课【全职的Scrum Master】作业

    回顾Scrum学习   1.回顾目标 1.1 期望结果 了解和学习Scrum,为将来换方向打好理论基础 如果能在目前公司引入和推行也很好,但是根据目前公司的文化氛围来看,推行希望不大 把敏捷思想应用到 ...

  6. 云计算之路-阿里云上:在SLB上部署https遇到的问题及解决方法

    一.问题场景 这个问题只会出现在云服务器操作系统使用Windows Server 2012的场景,如果使用的是Windows Server 2008 R2则不存在这个问题. 二.https部署场景 1 ...

  7. IOS笔记051-手势使用

    UIGestureRecognizer 利用UIGestureRecognizer,能轻松识别用户在某个view上面做的一些常见手势 UIGestureRecognizer是一个抽象类,定义了所有手势 ...

  8. Hadoop架构的初略总结(2)

    Hadoop架构的初略总结(2) 回顾一下前文,我们总结了以下几个方面.我们为什么需要Hadoop:Hadoop2.0生态系统的构成:Hadoop1.0中HDFS和MapReduce的结构模型. 我们 ...

  9. 三种框架对比react vue 和Angular对比

    https://blog.csdn.net/runOnWay/article/details/80103880 angular 优点 背靠谷歌 使用typescript 便于后端人员开发上手 完整 不 ...

  10. Tomcat源码分析(二)------ 一次完整请求的里里外外

    Tomcat源码分析(二)------ 一次完整请求的里里外外   前几天分析了一下Tomcat的架构和启动过程,今天开始研究它的运转机制.Tomcat最本质就是个能运行JSP/Servlet的Web ...