python模块

项目目录结构

模块定义

文件引用

python程序结构:package包、module模块、function方法

模块是代码量变得相当大了之后,为了将需要重复使用的有组织的代码放在一起,这部分代码可以被其他程序引用,从而使用该模块里的函数等功能,引用的过程叫做导入(import),在python中,一个文件(以“.py”为后缀名的文件)就叫做一个模块,导入模块的写法:import module1[,module2...[,moduleN]] 或 from moduleimport<name[,name2,...[,nameN]]>

系统内置的模块(标准库):sys、time、os、json模块等

"""
python安装好之后自带的一些非常有用的模块(sys、os、time、json模块等)
使用关键词“import+模块名称”导入模块,同一个模块不管执行多少次“import”,只会被导入一次,import应该放在代码的顶端
"""
import sys
import time
print(sys.argv) #打印出执行文件的绝对路径 打印结果 ['D:\\software\\python\\project\\project1\\test_0108.py']
time.sleep(3) #等到3秒执行下一个操作
print("exit") #打印出 exit
# 系统内置模块,也就是常说的标准库,可以在当前项目下对目录和文件进行增删等操作
import os# 创建目录,当前操作文件所在的文件夹下创建一个目录(也可以说是文件夹)
# os.mkdir('files')# 查看当前操作文件所在的文件夹下所有的文件包含目录
print(os.listdir('./'))# 删除文件
# os.removedirs('file_name')# 查看当前操作文件的完整的绝对的路径
print(os.getcwd())# 在当前操作文件所在的包下创建文件夹/包,并且在里面创建一个文件并写入内容
# 判断当前文件是否存在,false不存在
print(os.path.exists('file_folder1'))
# 创建文件夹
if not os.path.exists('file_folder1'):os.mkdir('file_folder1')
# 在文件夹下创建一个文件并写入内容
if not os.path.exists('file_folder1/test.txt'):w = open('file_folder1/test.txt', 'w')w.write('hello')w.close()
# time模块或者说time标准库,获取当前时间以及时间格式的模块,datetime模块是对time模块的二次封装
import time# 生成时间戳:返回秒数,从1970年1月1日 00:00:00 (UTC)开始计算到目前的秒数
print(time.time())# 生成国外时间格式
print(time.asctime())# 时间戳转成时间元组
print(time.localtime())# 将当前的时间戳转换成带格式的时间
print(time.strftime('%Y年%m月%d日 %H:%M:%S', time.localtime()))# 获取两天前的时间
now_time = time.time()
two_day_before = now_time - 60*60*24*2
t = time.localtime(two_day_before)
print(time.strftime('%Y年%m月%d日 %H:%M:%S', t))# 获取两天后的时间
two_day_after = now_time + 2*24*60*60
tt = time.localtime(two_day_after)
print(time.strftime('%Y年%m月%d日 %H:%M:%S', tt))
# urllib.request是对网络请求的一个库
import urllib.requestresponse = urllib.request.urlopen('http://www.baidu.com')
print(response.status)
print(response.read())
print(response.headers)
import math# 返回大于5.5的最小整数6
print(math.ceil(5.5))# 返回小于5.5的最大整数5
print(math.floor(5.5))# 返回开平方根的浮点数4.0
print(math.sqrt(16))

第三方的开源模块:通过pip install进行安装,有开源的代码,必须知道该库名称,可以在官网或者pypi上搜索,比如MySQL的驱动程序,web框架flask,科学计算numpy等。numpy是python语音的扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。(运行Windows的cmd窗口,输入pip install numpy,即可在本地环境安装成功),如果pycharm中执行文件是在虚拟环境里,需要在pycharm中再次安装。可以在官网学习模块的方法等的调用(PyPI · The Python Package Index,查看documentation→user guide)

pytest第三方库:相当于python自带的unittest模块,pytest单元测试框架,pytest和allure搭配使用可以生成测试报告,allure是生成测试报告的第三方库,怎么安装pytest库呢:在Windows系统的cmd窗口直接输入 pip install pytest,进行安装,可以安装到本地的环境

requests第三方库:是进行网络访问的一个库,安装与pytest安装一样,输入pip install requests

自定义模块:自己写的模块,对某段逻辑或者某些函数进行封装后供其他人员或者其他函数调用,模块是变量、函数、或类组成的,自定义模块的命名不能与系统内置模块重名,否则将不能导入系统内置模块,例如自定义了sys.py模块,那系统内置的sys模块就不能调用了

#自定义模块
name_is_a_very_long_name = "Tom"def add(a,b):return a + b
class index():def sub(self,a,b):return a - b#当前执行文件为自定义模块文件
print(name_is_a_very_long_name)
print(add(1,4))
i = index()
print(i.sub(4,2))#当前执行文件非自定义模块文件
import wumodule_1
from wumodule_1 import * #导入模块中全部的属性、方法等
from wumodule_1 import name_is_a_very_long_name as n #如调用的模块中的属性、方法、类名字很长时,可以再自定义一个简单的名
print(n) #调用属性
print(add(1,2)) #调用方法

模块的作用域:搜索路径,当导入一个模块时,python解析器对模块位置的搜索顺序是:1、当前目录;2、如果不在当前目录,python则搜索在sell变量pythonpath下的每一个目录;3、如果都找不到的话,python会查看默认路径,unix下默认路径一般为/usr/local/lib/python/。模块搜索路径存储在system模块的sys.path变量中,变量包含当前目录,pythonpath和安装过程决定的默认目录。

模块的好处:可维护性,可直接调用,不用再从零开始写代码,节约工作时间,避免函数和变量名称重复,在不同模块中可以存在相同名字的函数和变量名(不要和系统内置模块重名)

python模块,库相关推荐

  1. 【私人订制Python模块库】Pyemail:更方便快捷地发送电子邮件

    文章目录 一.前言背景 二.个人首秀模块 三.如何打包模块 四.实际运用例子 一.前言背景 前几天学习了smtplib和email模块,Get了新技能--如何用Python发送电子邮件,还能发送超文本 ...

  2. Python使用技巧(十一):图像处理skimage模块库的安装与使用

    一.介绍 skimage包的全称是scikit-image SciKit (toolkit for SciPy) ,它对scipy.ndimage进行了扩展,提供了更多的图片处理功能.它是由pytho ...

  3. 在Ubuntu 14.04.5 LTS上安装python模块selenium 3实录

    简介 Selenium是python模块库中一组web自动化测试工具集,提供多种语言的API,例如java,python,ruby,.net等,支持Firefox,Chrome,IE,Safari 等 ...

  4. Python标准库queue模块原理浅析

    Python标准库queue模块原理浅析 本文环境python3.5.2 queue模块的实现思路 作为一个线程安全的队列模块,该模块提供了线程安全的一个队列,该队列底层的实现基于Python线程th ...

  5. Python标准库threading模块Condition原理浅析

    Python标准库threading模块Condition原理浅析 本文环境python3.5.2 threading模块Condition的实现思路 在Python的多线程实现过程中,在Linux平 ...

  6. Python标准库asyncio模块基本原理浅析

    Python标准库asyncio模块基本原理浅析 本文环境python3.7.0 asyncio模块的实现思路 当前编程语言都开始在语言层面上,开始简化对异步程序的编程过程,其中Python中也开始了 ...

  7. python常用包下载_Python及其常用模块库下载及安装

    一.Python下载: https://www.python.org/downloads/ 二.Python模块下载: http://www.lfd.uci.edu/~gohlke/pythonlib ...

  8. 用于生成随机数的python标准库模块是_17 Python 标准库之 random 模块 - Python 进阶应用教程...

    Python 标准库之 random 模块 随机数是随机产生的数,比如购买彩票,中奖的号码就是随机的.random 库是用于生成随机数的 Python 标准库,random 库提供如下函数: 函数 功 ...

  9. python pillow库_python pillow模块用法

    pillow Pillow是PIL的一个派生分支,但如今已经发展成为比PIL本身更具活力的图像处理库.pillow可以说已经取代了PIL,将其封装成python的库(pip即可安装),且支持pytho ...

  10. python常用模块大全总结-Python模块汇总(常用第三方库)

    模块 定义 计算机在开发过程中,代码越写越多,也就越难以维护,所以为了编写可维护的代码,我们会把函数进行分组,放在不同的文件里.在python里,一个.py文件就是一个模块 优点: 提高代码的可维护性 ...

最新文章

  1. FastJson常见问题
  2. 日均请求量百亿级数据处理平台的容器云实践
  3. redis 高级特性一
  4. Python入门100题 | 第037题
  5. Tkinter的Button组件的使用
  6. 图解HashMap和HashSet的内部工作机制
  7. linux修改文件内容_详解5种实用方法---Linux系统清空或删除大文件内容
  8. Bootstrap CSS 编程规范之语法规范
  9. android黑域系统文件,优雅地使用安卓手机,黑域免root使用教程
  10. jq ajax读取txt,使用JQuery或Ajax加载.txt文件
  11. MIB 浏览器的使用指导
  12. C++小游戏《末日之战1:新生》1.12.31823.132
  13. MAC 软件安装打不开解决办法
  14. PostgreSQL - 学习/实践
  15. soundwire修改服务器,SoundWire Server,电脑声音实时同步到移动手机
  16. 软件无线电处理平台设计原理图:136-KC705E增强版基于FMC接口的 Kintex-7 XC7K325T PCIeX8 接口卡 数据采集IO卡
  17. 【Bug】HTC Vive Pro定位发生偏移或倾斜解决办法
  18. pom文件找不到子项目_java,eclipse_eclipse中maven项目pom.xml文件找不到parent要怎么解决?,java,eclipse,maven - phpStudy...
  19. Qt qwidget嵌入ppt
  20. 多层高速PCB设计学习笔记(五)四层板实战(下)之阻抗控制计算(SI9000)

热门文章

  1. centos发现网络连不上了,重启网络服务报错“systemctl status network.service” and “journalctl -xe” for details. [失败]
  2. 弘辽科技:淘宝商品降权的影响是什么?为什么被降权?
  3. 快速提升销售业绩,您需要懂得这些“潜规则”
  4. 如何在VMware Workstation虚拟机上安装苹果系统(Mac OS)
  5. 快速删除oracle中重复数据,效率高于直接删除数倍.
  6. Android辅助H5做一个Web版的相册功能
  7. Spring Boot项目部署服务器 本地正常 远程无法访问问题排错
  8. 马尔科夫链的一个例子:老鼠迷宫问题
  9. 3.《解读基金:我的投资观与实践》读书笔记
  10. Pyhton之异常处理