python如何导入自己的模块

 更新时间:2022年02月11日 08:56:32   作者:Aamax  
这篇文章主要介绍了python如何导入自己的模块,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

如何导入自己的模块

在实际的编程生活当中,我们除了会去import已经存在的包外,当然还会偶尔自定义一些模块,然后来导入,其实一般而言,自定义的模块也就是一系列的脚本,具体的,自己写好了脚本,然后导入,导入的情况分为以下情况:

1.自定义模块与所需要调用自定义模块的文件在同一文件夹下

这时的调用就较为简单了,直接导入即可

比如说我想要在learnpandas中导入m1.py,只需要在learnpandas脚本开头声明import m1.py即可

2.自定义模块与所需要调用自定义模块的文件不在同一文件夹下

其实这个的话,如果不怕麻烦的话可以用1中的方法,把需要导入的文件一个一个手动拖到当前文件夹中,,,当然这个方法时比较复杂的,尤其是要导入的文件较多的时候,,,,

这个时候有一个更聪明的方法

假设下图是我们需要导入的文件目录

在这种情况下,我们在folder中新建一个__init__.py文件,此时的folder不再是一个普通的文件夹,而是一个包 package

在这个时候,想导入哪一个文件的话就只需在文件开头import folder.filename即可(记得要先将自定义库路径添加到Python的库路径中)

3.找到本地库的路径

然后将文件拷进去即可

4.手动给python添加搜索路径

具体做法是:

在python安装目录的\Lib\site-packages文件夹中建立一个.pth文件,内容为自己写的库绝对路径

- - - - - - - - - - - - - - - - - 分割线- - - - - - - - - - - - - - - - -

将自定义库的路径添加到Python的库路径中去,有如下两种方法:

1. 动态的添加库路径。在程序运行过程中修改sys.path的值,添加自己的库路径

import sys
sys.path.append(r'your_path') 

2. 在Python安装目录下的\Lib\site-packages文件夹中建立一个.pth文件,内容为自己写的库路径。

示例如下

E:\\work\\Python\\http

E:\\work\\Python\\logging

- - - - - - - - - - - - - - - - - 分割线- - - - - - - - - - - - - - - - -

在这里说一句Python的包搜索路径:

Python会在以下路径中搜索它想要寻找的模块:

1. 程序所在的文件夹

2. 标准库的安装路径

3. 操作系统环境变量PYTHONPATH所包含的路径

导入本地模块报错的问题

很多时候,我们在写一个python项目时,都会分模块来写,在一个模块中导入自己写的另一个模块,最后在写一个启动程序,但运行启动程序时往往会报错说找不到你写的模块,对此,这里教大家一种通用且正规的python项目组织结构,基本都能解决这种找不到本地模块的问题。

以下图为例说明

在这里插入图片描述

首先是创建一个项目文件夹:myproject ,这里面包括启动文件start.py、README.md文件以及你的项目文件myproject文件夹。这就是基本的项目结构。

这样你就能在myproject文件夹里面的py文件里使用相对路径导入其他文件夹下的模块了。

其实,Scrapy项目的目录结构也大致是这样的,大家可以看看创建scrapy项目时的目录结构。

mytask.py

在这里插入图片描述

这里就很方便使用 “.” 和 “..” 来表示当前路径和上一级路径了start.py

在这里插入图片描述

这里要注意,启动文件start.py中不能使用".“和”.."等来导入本地模块,因为主模块(启动文件)不能使用相对导入。

最后,只要在命令行输入python start.py就可以运行程序了。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使用PyTorch常见4个错误解决示例详解

    使用PyTorch常见4个错误解决示例详解

    这篇文章主要为大家介绍了使用PyTorch常见4个错误解决示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Python基于生成器迭代实现的八皇后问题示例

    Python基于生成器迭代实现的八皇后问题示例

    这篇文章主要介绍了Python基于生成器迭代实现的八皇后问题,简单描述了八皇后问题,并结合实例形式分析了Python基于生成器迭代解决八皇后问题的相关操作技巧,需要的朋友可以参考下
    2018-05-05
  • python图书管理系统

    python图书管理系统

    这篇文章主要为大家详细介绍了python图书管理系统的实现代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • Python机器学习k-近邻算法(K Nearest Neighbor)实例详解

    Python机器学习k-近邻算法(K Nearest Neighbor)实例详解

    这篇文章主要介绍了Python机器学习k-近邻算法(K Nearest Neighbor),结合实例形式分析了k-近邻算法的原理、操作步骤、相关实现与使用技巧,需要的朋友可以参考下
    2018-06-06
  • python随机模块random的22种函数(小结)

    python随机模块random的22种函数(小结)

    这篇文章主要介绍了python随机模块random的22种函数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • python 生成xml文件,以及美化的实例代码

    python 生成xml文件,以及美化的实例代码

    这篇文章主要介绍了python 生成xml文件,以及美化的实例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • Python深度优先算法生成迷宫

    Python深度优先算法生成迷宫

    这篇文章主要为大家详细介绍了Python深度优先算法生成迷宫,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • python -v 报错问题的解决方法

    python -v 报错问题的解决方法

    在本篇文章里小编给大家整理了关于python -v 报错问题的解决方法及相关知识点,有兴趣的朋友们可以学习下。
    2020-09-09
  • 基于Python实现文章信息统计的小工具

    基于Python实现文章信息统计的小工具

    及时的统计可以更好的去分析读者对于内容的需求,了解文章内容的价值,以及从侧面认识自己在知识创作方面的能力。本文就来用Python制作一个文章信息统计的小工具 ,希望对大家有所帮助
    2023-02-02
  • Python Flask实现后台任务轻松构建高效API应用

    Python Flask实现后台任务轻松构建高效API应用

    本文介绍如何使用Python Flask框架实现后台任务,以快速构建高效的API应用。通过实例演示,读者将学会如何利用Flask框架搭建后台任务,实现异步处理和多线程操作等高级功能,提升应用性能和用户体验
    2023-04-04

最新评论