Python工具脚本调用外层模块的操作方法

 更新时间:2024年02月28日 10:35:17   作者:奔向理想的星辰大海  
今天有同学问我,这种情况应该怎么调用,才能让remove_outdated_data.py正确导入models里面的模块,下面通过本文介绍下Python工具脚本调用外层模块的方法,感兴趣的朋友一起看看吧

入口文件应该在最外面,调用关系应该是从外向内调用。绝对不能学Java,从一个很深层的文件夹里面往外调用。

不过我在这篇文章的最后,也提到了一种例外情况,那就是工具脚本不受这个规则的限制。如下图所示。

今天有同学在问我,这种情况应该怎么调用,才能让remove_outdated_data.py正确导入models里面的模块。我们就来说明一下。

首先,我们来创建一个示例程序,结构如下图所示:

其中,aa.py文件的内容为:

def i_am_func():
    print('我是一个函数')

test.py文件的内容为:

from models.aa import i_am_func
i_am_func()

那么,不修改任何环境变量,也不修改sys.path的情况下,我应该怎么运行test.py,才能让它正确调用i_am_func函数?

首先我们进入tools文件夹运行,显然会报错,如下图所示:

接下来,我们在项目根目录下面运行,也会报错:

那应该怎么办呢?难道必须加环境变量或者改sys.path

其实,Python已经自带了正确运行工具脚本的方法,就是-m参数。我们只需要在项目根目录执行下面这个命令就可以了:

python -m tools.test

如下图所示:

如果工具脚本在很深的文件夹里面,那么路径只需要使用点分割就可以了。例如下面的文件结构:

要运行second.py,那么命令就写成:

python -m tools.deep.folder.second

如果你的工具脚本有参数,也可以正常添加,例如:

python -m tools.deep.folder.second args1 args2

到此这篇关于Python工具脚本如何调用外层模块的文章就介绍到这了,更多相关Python调用外层模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现京东秒杀功能代码

    Python实现京东秒杀功能代码

    这篇文章主要介绍了Python实现京东秒杀功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • 详解Python3.1版本带来的核心变化

    详解Python3.1版本带来的核心变化

    这篇文章主要介绍了详解Python3.1版本带来的核心变化,Python3.1的版本升级在3.0的基础上带来了更多影响以后版本的变化,本文分析了其中一些常用功能的改变,如Maketrans函数等,需要的朋友可以参考下
    2015-04-04
  • Python正则表达式教程之二:捕获篇

    Python正则表达式教程之二:捕获篇

    什么是捕获呢?使用小括号指定一个子表达式后,匹配这个子表达式的文本(即匹配的内容)可以在表达式或者其他过程中接着用,下面这篇文章就主要介绍了Python正则表达式中关于捕获的相关资料,需要的朋友可以参考下。
    2017-03-03
  • python实现内存监控系统

    python实现内存监控系统

    这篇文章主要为大家详细介绍了python实现内存监控系统,通过系统命令或操作系统文件获取到内存信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • python串口读取数据的实例

    python串口读取数据的实例

    这篇文章主要介绍了python串口读取数据的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Python3解释器知识点总结

    Python3解释器知识点总结

    在本篇内容中小编给大家总结了关于Python3解释器的用法以及相关知识点,需要的朋友们学习下。
    2019-02-02
  • python 测试实现方法

    python 测试实现方法

    使用python进行测试也足够简明了
    2008-12-12
  • Python3.9.0 a1安装pygame出错解决全过程(小结)

    Python3.9.0 a1安装pygame出错解决全过程(小结)

    这篇文章主要介绍了Python3.9.0 a1安装pygame出错解决全过程(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • 快速了解Python中的装饰器

    快速了解Python中的装饰器

    这篇文章主要介绍了快速了解Python中的装饰器,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • 利用Python实现问卷星自动填写的超详细教程

    利用Python实现问卷星自动填写的超详细教程

    问卷星已经成为收集问卷的一个很重要的工具,有时可以用来报名参加活动,有时可以用来收集某些领域相关的情况,下面这篇文章主要给大家介绍了关于利用Python实现问卷星自动填写的超详细教程,需要的朋友可以参考下
    2023-06-06

最新评论