Python模块与包使用指南:如何在不同目录中导入py文件

在 python 中,一个 py 文件被称作模块。每个具有__init__.py 文件的目录被叫做包。只要模块或者包被正确导入,就可以在其他地方使用其中定义的函数、类等。

Python模块与包使用指南:如何在不同目录中导入py文件

如果块或者包所在的目录在 sys.path 里,那么就能够使用 import 模块或者 import 包的方式来进行使用。

如果你要使用的模块(py 文件)与当前模块处于同一目录,那么只需导入相应的文件名即可。

如在a.py中使用b.py:

import b

但是如果想要import一个处于不同目录的文件,比如 b.py,那应该怎么做呢?

首先要把 b.py 所在的目录通过 sys.path.append 方法添加到搜索目录里。接着进行 import 操作,也就是……

可,例如

import sys

sys.path 被添加了 'c:\xxxx\b.py' 。这个例子是针对 windows 用户的。

在大多数情况下,上面的代码运行得很良好。然而,倘若你并未察觉到上面代码存在的任何问题,那么就应当……

请注意,上述代码有时会出现找不到模块或包的情况(ImportError: No module named)。

xxxxxx),这是因为:

sys 模块由 c 语言编写。它的字符串能够用 '\n'、'\r'、'\t' 等去表示特殊字符。所以……

上面代码最好写成:

将字符串 'c:\\xxx\\b.py' 添加到 sys.path 中。

可以使用 sys.path.append('c:/xxxx/b.py') 这种方式

这样能够避免由于错误地组成转义字符,进而导致无效的搜索目录(sys.path)的设置。

Python 的搜索模块的路径集是 sys.path,它是一个 list

可以在 Python 环境中使用 sys.path.append(path) 来添加相关路径,然而在退出 Python 环境之后

自己添加的路径就会自动消失了!

3、搜索路径和路径搜索

模块的导入需要叫做“路径搜索”的过程。

搜索路径:查找一组目录

路径搜索:查找某个文件的操作

导入错误:没有名为 myModule 的模块。

这种错误就是说:模块不在搜索路径里,从而导致路径搜索失败!

导入模块时,不带模块的后缀名,比如.py

Python搜索模块的路径:

1)、程序的主目录

2)、PTYHONPATH目录(如果已经进行了设置)

标准连接库目录通常位于 /usr/local/lib/python2.X/ 。

任何.pth 文件的内容(若存在)具有新功能,此功能能让用户将有效果的目录添加至模块搜索路径中。

.pth后缀的文本文件中一行一行的地列出目录。

这四个组建组合起来就变成了sys.path了,

>>> import sys
>>> sys.path
导入时,Python会自动由左到右搜索这个列表中每个目录。

关于“python ImportError: No module named 'xxx'”这一问题呢?

解决方法如下:

使用 PYTHONPATH 环境变量,在该环境变量中输入相关路径,且不同路径之间用逗号分隔。

如果 PYTHONPATH 变量不存在,那么可以创建它。

这里的路径会被自动添加到 sys.path 里,它会一直存在于 sys.path 中,并且能够在不同的 Python 版本中使用。

中共享,应该是一样较为方便的方法。

C:\Users\Administrator\Desktop\test 目录下的 module1.py 文件:

def func1():

print("func1")

把 C:\Users\Administrator\Desktop\test 添加到 PYTHONPATH 里,这样就能够直接 import module1 了,接着

调用:module1.func1()即可。

把自己制作的 py 文件放置到 site_packages 目录当中。

使用 pth 文件,在 site-packages 文件里创建.pth 文件,接着把模块的路径写进去,且每行写一个路径。

个路径,以下是一个示例,pth文件也可以使用注释:

用于我的项目的.pth 文件,将其命名为 xxx.pth 文件。

C 盘下的 Users 文件夹中,Administrator 用户的桌面上有一个名为 test 的文件。

这是一个好的方法,不过存在管理方面的问题,同时也不能在不同的 Python 版本间进行共享。

在调用文件里添加“sys.path.append(模块文件目录)”这一操作;

直接将模块文件拷贝至$python_dir/Lib 目录当中。

借助以上 5 个方法就能直接进行 import module_name 操作。

参考文章:

你可能想看:
« 上一篇
下一篇 »

相关推荐

python爬虫教程PDF,Python爬虫书PDF

2026年09月02日

31阅读

外国教程python,python编程教学视频

2026年09月02日

25阅读

python简明教程沈洁元,python详细基础教程

2026年09月02日

21阅读

python库包教程,python 包

2026年09月02日

27阅读

python教程大全集,python教程600集

2026年09月02日

26阅读

python入门教程完整版,python零基础入门全套教程视频

2026年09月02日

22阅读