python - 模块调用
基础
调用模块常见的两种方法
- import [模块名]
- from [模块名] import [属性/方法]
进阶用法
调用父级目录下模块

背景介绍
目录new2(b2.py)调用上级目录new1(b1.py)
b2.py

- 方法1
from b1 import h1
a = h1()
print(a)
- 方法2
import b1
a = b1.h1()
print(a)
调用同级目录下模块

背景介绍
目录new0(b0.py)调用同级目录new3(b3.py)
- 方法1
import sys
sys.path.append("..")
from new3.b3 import *
a = h3()
print(a)
- 方法2
import sys
sys.path.append("..")
import new3.b3
a = new3.b3.h3()
print(a)
调用指定目录下的模块
背景介绍
目录new0(b0.py)调用绝对路径下F:\Program的b2.py
import sys
import os
sys.path.append(os.path.abspath(r'F:\Program'))
from b2 import *
a = h1()
print(a)
拓展
import导入路径
import导入路径的过程
本质上就是寻找一个模块的路径
- 在当前目录下寻找
- 如果不在当前目录下,Python则会搜索在shell变量PYTHONPATH下的每个目录
- 如果都找不到,Python会查看默认路径,UNIX下,默认路径一般为/usr/local/lib/python/
- 如果还找不到,模块搜索路径存储在system模块的sys.path变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录
先后顺序也决定程序的结果
如果在当前目录下就有,但是你却放在了sys.path的最后面,程序就会报错,就是因为顺序原因
环境变量
PYTHONPATH
PYTHONPATH是Python搜索路径,默认我们import的模块都会从PYTHONPATH里面寻找。
- 打印PYTHONPATH
import os
import pprint
pprint.pprint(sys.path)

- 设置PYTHONPATH
方法一:命令窗口添加路径(临时添加)
export PYTHONPATH=$PYTHONPATH:/home/ershisui
注意:此方法只在当前命令窗口生效!
方法二:在python 中添加(永久添加)
import sys
sys.path.append('/home/ershisui/')
参考:
https://www.cnblogs.com/zhuxiaoxi/p/10003609.html
https://www.cnblogs.com/lifeofershisui/p/8135702.html
python - 模块调用的更多相关文章
- Python模块调用方式详解
Python模块调用方式详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其 ...
- python 模块调用的几种方式
在python里面又很多模块,或者引用第三方模块,python 模块调用的几种方式,下面详细解说 1,import 模块名 2,from 模块 import 模块里面的小功能 3,from 模块 ...
- Python 模块调用的变量与路径
自己编写的python代码经常需要分模块文件以及包,梳理一下调用顺序.执行顺序.工作路径.函数与变量等 工作路径 首先是工作路径,当模块代码放在统一的包内的时候,其路径和外层的包路径不同,当作为主调用 ...
- python模块调用
1.某个模块1被调用到另一个模块2的时候,当不想模块1中的某些代码在模块2中执行时,可以在模块一种添加如下代码: if __name__ == "__main__" ...
- 4.1 python中调用rust程序
概述 使用rust-cpython将rust程序做为python模块调用: 通常为了提高python的性能: 参考 https://github.com/dgrunwald/rust-cpython ...
- 编程:C#调用Python模块
当下,C#与Python都是比较热门的计算机编程语言,他们各有优缺点,如果能让他们互相配合工作,那是多么美好的事情,今天我来讲解一下如何利用C#来调用Python. 如果让C#支持调用Python模块 ...
- Python多层目录模块调用
一. 引用模块在 父+级目录中: 1. 将导入模块所在目录(../model/模块)添加到系统环境变量path下,可添加多个 import syssys.path.append("../mo ...
- python模块:调用系统命令模块subprocess等
http://blog.csdn.net/pipisorry/article/details/46972171 Python经常被称作"胶水语言",因为它能够轻易地操作其他程序,轻 ...
- 嵌入Python系列 | 调用Python模块中无参数函数
开发环境 Python版本:3.6.4 (32-bit) 编辑器:Visual Studio Code C++环境:Visual Studio 2013 需求说明 在用VS2013编写的Win32程序 ...
随机推荐
- Flutter 容器(4) - Container
Container 类似于HTML中的div标签 import 'package:flutter/material.dart'; class AuthList extends StatelessWid ...
- MST(最小生成树)
1.prim算法分析 prim算法是用来构建MST(最小生成树)的一种基于贪心策略的算法.prim算法通过维护lowcost数组和closest数组记录每次查询的最小权值边结点. 首先,看一个示例来理 ...
- Markdown实验样例
一级标题 二级标题 三级标题 重新开始一个段落 这是新的段落 斜体文本 粗体文本 粗斜体文本 下面是分隔线 删除线 下划线 脚注[1] 无序列表 第一项 嵌套元素1 嵌套元素2 第二项 嵌套元素1 嵌 ...
- java中assert的使用
https://blog.csdn.net/AbnerChai/article/details/87379?depth_1-utm_source=distribute.pc_relevant.none ...
- JavaScript学习系列博客_18_JavaScript中的匿名函数
匿名函数 - 用函数声明的方式创建一个函数时,不加函数名称. function sum(){ console.log("我是函数sum")} - 不加名称,这样写浏览器是会报错的. ...
- SpringBoot--- Shiro(拦截,认证)、Thymeleaf(模板引擎)
SpringBoot--- Shiro(拦截,认证).Thymeleaf(模板引擎) 环境 IDEA :2020.1 SpringBoot: 2.3.3 Java : 8 版本依赖: shiro- ...
- SpringBoot整合Actuator进行健康监控
一.Actuator介绍 SpringBoot自带监控功能Actuator,通过 restful api 请求来监管.审计.收集应用的运行情况,可以帮助实现对程序内部运行情况监控,比如监控状况.Bea ...
- LR与LR?
目录 逻辑回归与线性回归 逻辑回归 1.建立目标函数 2. 梯度求解 3. 实现 线性回归 1. 建立目标函数 2. 求解 3. 实现 逻辑回归与交叉熵 逻辑回归与线性回归 逻辑回归 线性回归 目标函 ...
- 焦大:seo思维进化论(番外)
http://www.wocaoseo.com/thread-54-1-1.html 我已经在博客说了学seo研究算法是愚蠢的行为,但是很多人仍旧来问se的算法问题,其中最多的就是问TF-IDF算法, ...
- 焦大:seo思维光年(下)seo操作如何度量化
http://www.wocaoseo.com/thread-57-1-1.html 如果不能度量就无法进行改进,所以度量化或数据化是网站分析和网站研究必须进行的一个方面,seo也不能例外.我在上篇文 ...