python自定义安装哪些不需要_【1】python模块:自定义模块的3种导入方式
一、定义
模块就是用一堆的代码实现了一些功能的代码的集合,通常一个或者多个函数写在一个.py文件里,而如果有些功能实现起来很复杂,那么就需要创建n个.py文件,这n个.py文件的集合就是模块。如果不懂可以先看下面这篇博文:
https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014318447437605e90206e261744c08630a836851f5183000
二、类型
1、标准模块
python自带的模块,不需要安装包,直接import就可以使用
2、第三方模块
第三方开源模块通常需要自己去下载
3、自定义模块
自己写的实现自己某些功能的.py文件集合
二、标准模块
我们这里主要列举几个常用的标准模块:
import random #随机数模块
print(random.randint(1,100))#在1-100里随机取一个整数
print(random.uniform(1,900))#取一个小数,顾头也顾尾
stus=['zhangsan','lisi','xiaohong']print(random.choice(stus))#随机取一个元素
print(random.choice('sdfgadsgadfg'))print(random.sample(stus,2))#随机取两个元素
l=list(range(1,101))print('洗牌之前的',l)print(random.shuffle(l)) #洗牌,也就是打乱,没有返回值,只能传list,所以下面要在print一下
print('洗牌之后的',l)
三、第三方模块
大牛们开源共享许多模块也加快了大家开发的速度,许多开源模块可以在这里找到
1、安装第三发模块
pip install xxx
2、手动安装:
(1)下载.whl文件
pip install e:\\dowload\\pymysql.whl
(2)下载 .tar.gz文件
---解压
---进入目录执行 python setup.py install pymysql.tar.gz
3、列出当前装了哪些模块
pip list
4、导出当前已经安装的模块
freeze > 第三方模块.txt
5、指定文件批量安装模块
pip install -r 第三方模块.txt
四、python自定义模块的导入方式
1、直接import
这里有个大前提,就是你的py执行文件和模块同属于同个目录(父级目录),如下图:
main.py 和 pwcong模块同在python目录
执行文件为main.py
pwcong文件夹为一个模块
我把pwcong模块提供的函数写在 __init__.py 里,里面只提供一个 hi 函数:
#pwcong 模块的 __init__.py#-*- coding: utf-8 -*-
defhi():print("hi")
执行文件main.py直接import模块:
#main.py#-*- coding: utf-8 -*-
importpwcong
pwcong.hi()
接着我们运行一下main.py可以看到命令行窗口输出了一句 hi ,第一种方式完成。
2、通过sys模块导入自定义模块的路径path
如果执行文件和模块不在同一目录,这时候直接import是找不到自定义模块的。如下图:
执行文件main.py在main目录下
pwcong模块在python目录下
sys模块是python内置的,因此我们导入自定义模块的步骤如下:
先导入sys模块
然后通过sys.path.append(path) 函数来导入自定义模块所在的目录。
使用sys.path.append()方法可以临时添加搜索路径,方便更简洁的import其他包和模块。这种方法导入的路径会在python程序退出后失效。
使用sys.path.insert(0,'r'/Users/PycharmProjects/my_python/')定义搜索路径的优先顺序,序号从0开始,表示最大优先级,sys.path.insert()加入的也是临时搜索路径,程序退出后失效。
导入自定义模块。
这时候 main.py 这样写:
#main.py#-*- coding: utf-8 -*-
importsys
sys.path.append(r"C:\Users\Pwcong\Desktop\python")importpwcong
pwcong.hi()
最后执行main.py文件,最终输出 hi ,第二种方式完成。
3、在环境变量中找到自定义模块
这个方法原理就是利用了系统变量,python会扫描path变量的路径来导入模块,可以在系统path里面添加。
模块和执行文件目录结构跟上图一样:
执行文件main.py在main目录下
pwcong模块在python目录下
我们创建一个 module_pwcong.pth 文件,里面内容就是 pwcong模块所在的目录:
C:\Users\Pwcong\Desktop\python
将该 module_pwcong.pth 文件放到这里:
python安装目录\Python35\Lib\site-packages
例如我的:
然后 main.py 导入并使用自定义模块:
#-*- coding: utf-8 -*-
importpwcong
pwcong.hi()
最后执行 main.py 文件,可以输出 hi ,第三种方式完成。
注意:使用pycham可以把文件夹加到环境变量中
直接在文件夹上右键 mark directory as 选择 scorce root 直接把文件夹加到环境变量中。
python自定义安装哪些不需要_【1】python模块:自定义模块的3种导入方式相关推荐
- python基础教程pdf刘浪_《Python基础教程(第3版)》 PDF高清完整版_初学者如何学习Python...
<Python基础教程(第3版)> PDF高清完整版 初学者如何学习Python 内容简介 本书包括Python程序设计的方方面面:首先从Python的安装开始,随后介绍了Python的基 ...
- 自学python在电脑上安装什么杀毒软件好_使用Python Shells绕过杀毒软件
一.绕过杀毒软件 Why? 1.使用绕过反病毒软件的方式要比禁用杀毒软件更加安全; 2.展示客户端的反病毒软件是多么脆弱的非常有趣. How? 如果你使用二进制,而这个二进制文件被You can by ...
- python从安装开始加粉_安装python
Python是最近这几年比较热门的编程语言,而且使用的越来越多,下面给大家介绍一下Python的下载和安装! 第一步.由于Python对于系统位数的不同有不同的安装,所以我们需要先知道自己电脑操作系统 ...
- 安装fitz报错_解决python 虚拟环境删除包无法加载的问题
项目开发一直在docker的虚拟环境上,遇到了一个问题,就是把虚拟环境的包删掉(rm -rf xxx)之后,再重新拷贝一个(跟原来包一模一样的文件夹)进去发现pycharm再也找不到这个包了,后来在同 ...
- macos 安装python3.8 版本_用python安装cutadapt程序
昨天用ubuntu安装了cutadapt,但是在之后的程序运行中,还是行不通.因此,今天还是在win10下用python来进行安装. --------------------------------- ...
- python基础语法加爬虫精进_从Python安装到语法基础,这才是初学者都能懂的爬虫教程...
Python和PyCharm的安装:学会Python和PyCharm的安装方法 变量和字符串:学会使用变量和字符串的基本用法 函数与控制语句:学会Python循环.判断语句.循环语句和函数的使用 Py ...
- python得安什么安装包_初学 Python 需要安装哪些软件?
初学Python,其实是没必要用那么复杂又强大的工具的. 教你一键搭建最好用的交互式编程工具 pip install jupyter 然后怎么运行呢 jupyter notebook ... 对,没有 ...
- python默认安装目录在哪_怎么查看python的安装目录
技术宅 怎么查看python的安装目录? linux中一般安装后的默认路径如下#!/usr/bin/env python 或者 #!/usr/locat/bin/python 如果没有找到,可以通过命 ...
- python硬件编程_Python学习日记_《Python硬件编程实战》笔记_Mr_Ouyang
书名: Python硬件编程实战 作者: 李茂 出版社: 机械工业出版社 [此处需要插入图片 Python封面] 笔者简评:不太适宜购买,全书大篇幅在用图片来解释极简单的细节,对于那些需要作者去深挖. ...
最新文章
- 区分真实模式的两个标准
- [CF314C](Sereja and Subsequences)
- Java 开源分布式缓存框架Ehcache
- svn插件的所有链接
- sqlite 修改表名,合并数据库(文件)
- 全国计算机等级考试题库二级C操作题100套(第98套)
- 在linux中的文件中查找_如何在Linux中查找文件
- Android 系统(89)---ART
- PHP消息队列实现及应用
- 看图说说class文件结构(部分)
- Golang 入门系列(十三)用Beego开发web应用
- SQL Server 2008 远程过程调用失败的问题解决方法
- SAP HANA XS ODATA的写法
- ZZULIOJ:1008美元和人民币
- Linux性能分析工具
- 淘宝直播弹幕API接口协议
- 浅谈激光的单色性与相干性
- UniRx_UniTask_学习记录_3.1_Subject
- SRS4.0源代码分析之RTMP拉流处理
- WLAN组网详细步骤
热门文章
- for循环中let,var 的经典面试题:for循环中 console.log(i)详解
- ajax异步提交案例(用户校验)
- gitee提交代码_git 版本控制,github和gitee
- greenplum配置高可用_高可用hadoop集群配置就收藏这一篇,动手搭建Hadoop(5)
- BugkuCTF-MISC题又一张图片,还单纯吗
- C语言实现单链表面试题汇总
- html跳转网页为什么网页无法访问,朋友的网站被网址跳转,导致官网无法正常访问...
- C语言一维数组实现杨辉三角,一维数组实现杨辉三角
- 会话标识未更新 java_Appscan漏洞之会话标识未更新
- 的表格点击全选_“逼死”强迫症的杂乱表格,原来3秒就能整理好!(必学)...