基础

调用模块常见的两种方法

  • import [模块名]
  • from [模块名] import [属性/方法]

进阶用法

调用父级目录下模块

背景介绍

目录new2(b2.py)调用上级目录new1(b1.py)

b2.py

  • 方法1
  1. from b1 import h1
  2. a = h1()
  3. print(a)
  • 方法2
  1. import b1
  2. a = b1.h1()
  3. print(a)

调用同级目录下模块

背景介绍

目录new0(b0.py)调用同级目录new3(b3.py)

  • 方法1
  1. import sys
  2. sys.path.append("..")
  3. from new3.b3 import *
  4. a = h3()
  5. print(a)
  • 方法2
  1. import sys
  2. sys.path.append("..")
  3. import new3.b3
  4. a = new3.b3.h3()
  5. print(a)

调用指定目录下的模块

背景介绍

目录new0(b0.py)调用绝对路径下 F:\Program的b2.py

  1. import sys
  2. import os
  3. sys.path.append(os.path.abspath(r'F:\Program'))
  4. from b2 import *
  5. a = h1()
  6. print(a)

拓展

import导入路径

import导入路径的过程

本质上就是寻找一个模块的路径

  1. 在当前目录下寻找
  2. 如果不在当前目录下,Python则会搜索在shell变量PYTHONPATH下的每个目录
  3. 如果都找不到,Python会查看默认路径,UNIX下,默认路径一般为/usr/local/lib/python/
  4. 如果还找不到,模块搜索路径存储在system模块的sys.path变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录

先后顺序也决定程序的结果

如果在当前目录下就有,但是你却放在了sys.path的最后面,程序就会报错,就是因为顺序原因

环境变量

PYTHONPATH

PYTHONPATH是Python搜索路径,默认我们import的模块都会从PYTHONPATH里面寻找。

  • 打印PYTHONPATH
  1. import os
  2. import pprint
  3. pprint.pprint(sys.path)

  • 设置PYTHONPATH

    方法一:命令窗口添加路径(临时添加)

    export PYTHONPATH=$PYTHONPATH:/home/ershisui

    注意:此方法只在当前命令窗口生效!

    方法二:在python 中添加(永久添加)
  1. import sys
  2. sys.path.append('/home/ershisui/')

参考:

https://www.cnblogs.com/zhuxiaoxi/p/10003609.html

https://www.cnblogs.com/lifeofershisui/p/8135702.html

python - 模块调用的更多相关文章

  1. Python模块调用方式详解

    Python模块调用方式详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其 ...

  2. python 模块调用的几种方式

    在python里面又很多模块,或者引用第三方模块,python 模块调用的几种方式,下面详细解说 1,import 模块名 2,from 模块 import  模块里面的小功能 3,from  模块 ...

  3. Python 模块调用的变量与路径

    自己编写的python代码经常需要分模块文件以及包,梳理一下调用顺序.执行顺序.工作路径.函数与变量等 工作路径 首先是工作路径,当模块代码放在统一的包内的时候,其路径和外层的包路径不同,当作为主调用 ...

  4. python模块调用

    1.某个模块1被调用到另一个模块2的时候,当不想模块1中的某些代码在模块2中执行时,可以在模块一种添加如下代码: if    __name__  ==     "__main__" ...

  5. 4.1 python中调用rust程序

    概述 使用rust-cpython将rust程序做为python模块调用: 通常为了提高python的性能: 参考 https://github.com/dgrunwald/rust-cpython ...

  6. 编程:C#调用Python模块

    当下,C#与Python都是比较热门的计算机编程语言,他们各有优缺点,如果能让他们互相配合工作,那是多么美好的事情,今天我来讲解一下如何利用C#来调用Python. 如果让C#支持调用Python模块 ...

  7. Python多层目录模块调用

    一. 引用模块在 父+级目录中: 1. 将导入模块所在目录(../model/模块)添加到系统环境变量path下,可添加多个 import syssys.path.append("../mo ...

  8. python模块:调用系统命令模块subprocess等

    http://blog.csdn.net/pipisorry/article/details/46972171 Python经常被称作"胶水语言",因为它能够轻易地操作其他程序,轻 ...

  9. 嵌入Python系列 | 调用Python模块中无参数函数

    开发环境 Python版本:3.6.4 (32-bit) 编辑器:Visual Studio Code C++环境:Visual Studio 2013 需求说明 在用VS2013编写的Win32程序 ...

随机推荐

  1. Java—io流之打印流、 commons-IO

    打印流 打印流根据流的分类: 字节打印流  PrintStream 字符打印流  PrintWriter /* * 需求:把指定的数据,写入到printFile.txt文件中 * * 分析: * 1, ...

  2. ubuntu升级已安装git版本

    # To get the very latest version of git, you need to add the PPA (Personal Package Archive) from the ...

  3. 掌握提高 Web 应用的性能的方法 之 优化 PHP 和 Laravel

    Laravel 有很多东西.但是快不是其中之一.让我们学习一些优化技巧,以加快运行速度! 自从 Laravel 诞生以来,没有一个 PHP 开发人员不受她的影响.他们是喜欢 Laravel 提供的快速 ...

  4. 如何校验内存数据的一致性,DynamicExpresso 算是帮上大忙了

    一:背景 1. 讲故事 记的在上一家公司做全内存项目的时候,因为一些关键表会在程序 startup 的时候全量灌入到内存中,但随着时间的推移,内存和数据库的同步偶尔会出现数据差异的情况,伴随着就是运营 ...

  5. leetcode刷题记录——链表

    使用java实现链表 单向链表 双向链表 单向循环链表 双向循环链表 题目记录 160.相交链表 例如以下示例中 A 和 B 两个链表相交于 c1: A: a1 → a2 c1 → c2 → c3 B ...

  6. peer_manager_handler: Connection security failed: role: Peripheral, conn_handle: 0x0, procedure: Bonding, error: 133

    调试nordic 52840 hids_keyboard 例程时,和手机配对,配对失败,提示:peer_manager_handler: Connection security failed: rol ...

  7. Jmeter 常用函数(21)- 详解 __char

    如果你想查看更多 Jmeter 常用函数可以在这篇文章找找哦 https://www.cnblogs.com/poloyy/p/13291704.htm 作用 根据给定的字符值转换成 Unicode ...

  8. OpenGL学习日志(2020.4之前)

    咳咳,原本这个日志是本机上随便写的一些记录,也没怎么注意可读性和格式,有用信息密度很小,所以实用价值并不大.暂时由于不可抗因素得先鸽一段落了... 后续的日志会升格为模块化的学习记录,(应该)将会有很 ...

  9. 分布式一致性算法 Paxos、Raft、Zab的区别与联系

    什么是分布式系统? 拿一个最简单的例子,就比如说我们的图书管理系统.之前的系统包含了所有的功能,比如用户注册登录.管理员功能.图书借阅管理等.这叫做集中式系统.也就是一个人干了好几件事. 后来随着功能 ...

  10. SEO需要分析哪些网站数据

    http://www.wocaoseo.com/thread-227-1-1.html 一.网站的基本数据 1.网站流量详情(ip.pv.需要看pv与ip的比) 2.网站的跳出率(可以看出一个网站的用 ...