详解Python模块导入方法

python常被昵称为胶水语言,它能很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松联结在一起。python包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的路径。

下面将具体介绍几种常用情况:

(1)主程序与模块程序在同一目录下:

如下面程序结构:

  1. `-- src
  2. |-- mod1.py
  3. `-- test1.py

若在程序test1.py中导入模块mod1, 则直接使用import mod1或from mod1 import *;

(2)主程序所在目录是模块所在目录的父(或祖辈)目录

如下面程序结构:

  1. `-- src
  2. |-- mod1.py
  3. |-- mod2
  4. | `-- mod2.py
  5. `-- test1.py

若在程序test1.py中导入模块mod2, 需要在mod2文件夹中建立空文件__init__.py文件(也可以在该文件中自定义输出模块接口);

然后使用 from mod2.mod2 import * 或import mod2.mod2.

(3)主程序导入上层目录中模块或其他目录(平级)下的模块

如下面程序结构:

  1. `-- src
  2. |-- mod1.py
  3. |-- mod2
  4. | `-- mod2.py
  5. |-- sub
  6. | `-- test2.py
  7. `-- test1.py

若在程序test2.py中导入模块mod1和mod2。首先需要在mod2下建立__init__.py文件(同(2)),src下不必建立该文件。然后调用方式如下:

下面程序执行方式均在程序文件所在目录下执行,如test2.py是在cd sub;之后执行python test2.py

而test1.py是在cd src;之后执行python test1.py; 不保证在src目录下执行python sub/test2.py成功。

  1. import sys
  2. sys.path.append("..")
  3. import mod1
  4. import mod2.mod2

小结:关于详解Python模块导入方法的内容介绍完了,希望本文对你有所帮助!

时间: 2024-09-16 23:15:17

详解Python模块导入方法的相关文章

详解Python中writelines()方法的使用

  这篇文章主要介绍了详解详解Python中writelines()方法的使用,是Python入门学习中的基础知识,需要的朋友可以参考下 writelines()方法写入字符串序列到文件.该序列可以是任何可迭代的对象产生字符串,字符串为一般列表.没有返回值. 语法 以下是writelines()方法的语法: ? 1 fileObject.writelines( sequence ) 参数 sequence -- 这是字符串的序列. 返回值 此方法不返回任何值. 例子 下面的例子显示writeli

详解Python中time()方法的使用的教程

  这篇文章主要介绍了详解Python中time()方法的使用的教程,是Python入门学习中的基础知识,需要的朋友可以参考下 time()方法返回时间,在UTC时代以秒表示浮点数. 注意:尽管在时间总是返回作为一个浮点数,并不是所有的系统提供时间超过1秒精度.虽然这个函数正常返回非递减的值,就可以在系统时钟已经回来了两次调用期间返回比以前调用一个较低的值. 语法 以下是time()方法的语法: 参数 NA 返回值 此方法返回的时间,因为时代以秒表示浮点数(在UTC). 例子 下面的例子显示ti

详解Python中expandtabs()方法的使用

  这篇文章主要介绍了详解Python中expandtabs()方法的使用,是Python入门中的基础知识,需要的朋友可以参考下 expandtabs()方法返回制表符,即该字符串的一个副本. 't'已经使用的空间,可选择使用给定的tabsize(默认8)扩展. 语法 以下是expandtabs()方法的语法: ? 1 str.expandtabs(tabsize=8) 参数 tabsize -- 此选项指定要替换为制表符"t' 的字符数. 返回值 此方法返回在制表符,即通过空格进行了扩展字符串

详解Python中find()方法的使用

这篇文章主要介绍了详解Python中find()方法的使用,是Python学习中的基础知识,需要的朋友可以参考下 find()方法判断字符串str,如果起始索引beg和结束end索引能找到在字符串或字符串的一个子串中. 语法 以下是find()方法的语法: ? 1 str.find(str, beg=0 end=len(string)) 参数 str -- 此选项指定要搜索的字符串. beg -- 这是开始索引,默认情况下为 0. end -- 这是结束索引,默认情况下它等于字符串的长度. 返回

详解Python中DOM方法的动态性_python

文档对象模型 xml.dom 模块对于 Python 程序员来说,可能是使用 XML 文档时功能最强大的工具.不幸的是,XML-SIG 提供的文档目前来说还比较少.W3C 语言无关的 DOM 规范填补了这方面的部分空白.但 Python 程序员最好有一个特定于 Python 语言的 DOM 的快速入门指南.本文旨在提供这样一个指南.在 上一篇专栏文章 中,某些样本中使用了样本 quotations.dtd 文件,并且这些文件可以与本文中的代码样本档案文件一起使用. 有必要了解 DOM 的确切含义

详解Python中用于计算指数的exp()方法

  这篇文章主要介绍了详解Python中用于计算指数的exp()方法,是Python入门中必会的基本方法,需要的朋友可以参考下 exp()方法返回指数x: ex. 语法 以下是exp()方法的语法: ? 1 2 3 import math   math.exp( x ) 注意:此函数是无法直接访问的,所以我们需要导入math模块,然后需要用math的静态对象来调用这个函数. 参数 x -- 这是一个数值表达式 返回值 此方法返回指数x: ex. 例子 下面的例子显示了exp()方法的使用. ?

举例详解Python中smtplib模块处理电子邮件的使用

  这篇文章主要介绍了举例详解Python中smtplib模块处理电子邮件的使用,是Python入门学习中的基础知识,需要的朋友可以参考下 在基于互联网的应用中,程序经常需要自动地发送电子邮件.如:一个网站的注册系统会在用户注册时发送一封邮件来确认注册;当用户忘记登陆密码的时候,通过邮件来取回密码.smtplib模块是python中smtp(简单邮件传输协议)的客户端实现.我们可以使用smtplib模块,轻松的发送电子邮件.下面的例子用了不到十行代码来发送电子邮件: ? 1 2 3 4 5 6

详解Python中threading模块的几个常用方法

  这篇文章主要介绍了举例详解Python中threading模块的几个常用方法,threading模块用来创建和操作线程,是Python学习当中的重要知识,需要的朋友可以参考下 threading.Thread Thread 是threading模块中最重要的类之一,可以使用它来创建线程.有两种方式来创建线程:一种是通过继承Thread类,重写它的run方法;另一种是创建一个threading.Thread对象,在它的初始化函数(__init__)中将可调用对象作为参数传入.下面分别举例说明.

python 详解re模块

原文地址:python 详解re模块作者:Rocky 正则表达式的元字符有. ^ $ * ? { [ ] | ( ) .表示任意字符 []用来匹配一个指定的字符类别,所谓的字符类别就是你想匹配的一个字符集,对于字符集中的字符可以理解成或的关系. ^ 如果放在字符串的开头,则表示取非的意思.[^5]表示除了5之外的其他字符.而如果^不在字符串的开头,则表示它本身. 具有重复功能的元字符: * 对于前一个字符重复0到无穷次 对于前一个字符重复1到无穷次 ?对于前一个字符重复0到1次 {m,n} 对于