基础

调用模块常见的两种方法

  • 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导入路径的过程

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

  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
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 - 模块调用的更多相关文章

  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. 牛客 51011 可达性统计(拓扑排序,bitset)

    牛客 51011 可达性统计(拓扑排序,bitset) 题意: 给一个 n个点,m条边的有向无环图,分别统计每个点出发能够到达的点的数量(包括自身) \(n,m\le30000\). 样例: 10 1 ...

  2. 使用Prometheus监控Golang服务-基于YoyoGo框架

    Prometheus Prometheus是一个非常棒的工具,结合grafana能够让我在不写代码,或者少写代码的情况下搭建一套有效的监控体系.这里介绍一下Prometheus监控golang程序的方 ...

  3. 用python爬虫监控CSDN博客阅读量

    作为一个博客新人,对自己博客的访问量也是很在意的,刚好在学python爬虫,所以正好利用一下,写一个python程序来监控博客文章访问量 效果 代码会自动爬取文章列表,并且获取标题和访问量,写入exc ...

  4. JavaScript基础-03

    1. 条件判断语句 若条件成立才会执行,条件不成立则语句不执行: if语句 语法一: if(条件表达式) {语句}          :true就执行,false不执行: 语法二: if(条件表达式) ...

  5. Linux内核之 进程调度

    上一篇我们提到过进程状态,而进程调度主要是针对TASK_RUNNING运行状态进行调度,因为其他状态是不可执行比如睡眠,不需要调度. 1.进程调度概念 进程调度程序,简称调度程序,它是确保进程能有效工 ...

  6. centos7下安装docker与镜像加速

    1.背景 centos7下安装docker 2.安装 第一步:检查是否为centos7版本 第二步:依赖环境安装 执行如下两个命令: yum -y install gcc yum -y install ...

  7. 通过phpstudy安装wordpress、使用BP拦截POST型请求包

    使用BP拦截POST型请求包 一.安装phpstudy https://www.xp.cn/download.html 二.安装wordpress Step1:下载wordpress源码,https: ...

  8. Spring @Transactional事物配置无效原因

    spring @transaction不起作用,Spring事物注意事项 1. 在需要事务管理的地方加@Transactional 注解.@Transactional 注解可以被应用于接口定义和接口方 ...

  9. centos7.8 安装部署 k8s 集群

    centos7.8 安装部署 k8s 集群 目录 centos7.8 安装部署 k8s 集群 环境说明 Docker 安装 k8s 安装准备工作 Master 节点安装 k8s 版本查看 安装 kub ...

  10. RSA加密算法和SSH远程连接服务器

    服务器端与客户端的密钥系统不一样,称为非对称式密钥系统 RSA算法的基础是模运算x mod n,事实上: [(a mod n) + (b mod n)] mod n = (a+b) mod n [(a ...