python导入不同目录下模块的方法

下面将具体介绍几种常用情况:
(1)主程序与模块程序在同一目录下:
如下面程序结构:
`-- src
    |-- mod1.py
    `-- test1.py
    若在程序test1.py中导入模块mod1, 则直接使用import mod1或from mod1 import *;

(2)主程序所在目录是模块所在目录的父(或祖辈)目录
如下面程序结构:
`-- src
    |-- mod1.py
    |-- mod2
    |   `-- mod2.py
    `-- test1.py
    若在程序test1.py中导入模块mod2, 需要在mod2文件夹中建立空文件__init__.py文件(也可以在该文件中自定义输出模块接口); 然后使用 from mod2.mod2 import * 或import mod2.mod2.

(3)主程序导入上层目录中模块或其他目录(平级)下的模块
如下面程序结构:
`-- src
    |-- mod1.py
    |-- mod2
    |   `-- mod2.py
    |-- sub
    |   `-- test2.py
    `-- 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成功。
   import sys
   sys.path.append("..")
   import mod1
   import mod2.mod2

(4)从(3)可以看出,导入模块关键是能够根据sys.path环境变量的值,找到具体模块的路径。这里仅介绍上面三种简单情况。

时间: 2024-10-09 01:53:33

python导入不同目录下模块的方法的相关文章

Python在不同目录下的导入

python包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的路径. 下面将具体介绍几种常用情况: 1. 主程序与模块程序在同一目录下: 如下面程序结构: `-- src |-- mod1.py |-- test1.py 若在程序test1.py中导入模块mod1, 则直接使用 import mod1 或 from mod1 import *; 2. 主程序所在目录是模块所在目录的父(或祖辈)目录: 如下面程序结构: `-- src |-- mod1.py |--

python导入上级目录中的模块

python导入同级别模块很方便: import xxx 要导入下级目录页挺方便,需要在下级目录中写一个__init__.py文件 from dirname import xxx 要导入上级目录,可以使用sys.path: 首先sys.path的作用是:当使用import语句导入模块时,解释器会搜索当前模块所在目录以及sys.path指定的路径去找需要import的模块 所以改变思路,直接把上级目录加到sys.path里:sys.path.append('../') from fatherdir

Python递归遍历目录下所有文件

#自定义函数: import ospath="D:\\Temp_del\\a" def gci (path): parents = os.listdir(path) for parent in parents: child = os.path.join(path,parent) #print(child) if os.path.isdir(child): gci(child) # print(child) else: print(child) gci(path) #使用os.walk方

Python扫描指定目录下(包括子目录)的文件

扫描指定目录下的文件,或者匹配指定后缀和前缀的函数. 如果要扫描指定目录下的文件,包括子目录,调用scan_files("/export/home/test/") 如果要扫描指定目录下的特定后缀的文件(比如jar包),包括子目录,调用scan_files("/export/home/test/", postfix=".jar") 如果要扫描指定目录下的特定前缀的文件(比如test_xxx.py),包括子目录,调用scan_files("

python 读取一个目录下的所有目录和文件

觉着没事,应该学点东西.找到以前看过的python,试着做了个读取文件的程序.不管效果怎么,总算成功了. #!/usr/bin/python # -*- coding:utf8 -*- import os allFileNum = 0 def printPath(level, path): global allFileNum ''''' 打印一个目录下的所有文件夹和文件 ''' # 所有文件夹,第一个字段是次目录的级别 dirList = [] # 所有文件 fileList = [] # 返回

Python——IO多路复用之select模块epoll方法

Python——IO多路复用之select模块epoll方法 使用epoll方法实现IO多路复用,使用方法基本与poll方法一致,epoll效率要高于select和poll. .├── epoll_client.py├── epoll_server.py└── settings.py # settings.py HOST = 'localhost' PORT = 5555 buffersize = 1024 ADDR = HOST, PORT # poll_server.py from sett

python在不同层级目录import模块的方法

使用python进行程序编写时,经常会使用第三方模块包.这种包我们可以通过python setup install 进行安装后,通过import XXX或from XXX import yyy 进行导入.不过如果是自己遍写的依赖包,又不想安装到python的相应目录,可以放到本目录里进行import进行调用:为了更清晰的理清程序之间的关系,例如我们会把这种包放到lib目录再调用.本篇就针对常见的模块调用方法汇总下. 一.同级目录下的调有 程序结构如下: -- src    |-- mod1.py

python如何导入自定义文件和模块全部方法

项目中想使用自定义python文件(本地代码) 有6种方式, 1.这种最简单,也可能最不实用,将你的外部文件放到跟需要调用外部文件的文件同一个包下,同一目录 folder------toinvoke.py------tobeinvoded.py 这样在toinvoke.py 中引入 import toveinvoked 或 from tobeinvoked import * 即可 2.你的其他文件不是单个文件,或者不能如上所说放到同一目录下,而是在不同目录中,子目录 folder------to

python查找指定目录下所有文件,以及改文件名的方法

一: os.listdir(path) 把path目录下的所有文件保存在列表中: >>> import os>>> import re>>> path = "/home/popt/fiile">>> print (os.listdir(path))['Temp.conf', 'del2.py', 'ha.conf.bak', 'ha.conf', 'del.py', 'rename.py']>>>