图文详解Python如何导入自己编写的py文件

目录
  • 一. 想要实现的效果
  • 二. 实现的方法
  • 三. 进阶用法
  • 四. 使用_init_.py控制导入某文件夹时执行的操作
  • 总结

一. 想要实现的效果

新建文件夹将自编模块集中管理

可在其它py文件内import 自编模块,像import第三方库一样

二. 实现的方法

步骤1:将编号的模块 *.py放入文件夹,在我计算机中是:F:\OneDrive\PythonPrj\_myFunction

步骤2:新建用户/系统环境变量。

变量名:PYTHONPATH

变量值:文件夹路径

然后就可以实现想要的效果了,以下三种import方式均可。

这样做的原理是,Python解释器会去以下三个位置找import的模块:

  1. 当前文件所在目录
  2. 环境变量PYTHONPATH指定的目录
  3. Python 默认的安装目录

Python中sys.path变量记录了解释器可Import模块的位置,如下图所示:

所以,可通过操作sys.path变量告诉解释器去哪里找模块,代码如下:

sys.path是个列表,这里用append将一个路径加到了列表中,然后此路径下的模块a就能成功导入了。这种方法多写了两行代码,不方便,所以只适合临时用一下。

三. 进阶用法

如果自编的模块多了,或者想给自编模块加上说明文档的话,还是希望将每个自编模块单独存放在一个文件夹,以便于管理维护。像这样:

然后在文件夹(如myPackage1)内存放自编模块。

这时想导入模块就要按照以下写法:

这是一级子文件夹的写法,更多级文件夹可以一直点(.)下去。当然,一般也就会用到一级子文件夹,二级几乎都不会使用。

四. 使用_init_.py控制导入某文件夹时执行的操作

上述的导入方式一次只能导入一个文件夹里的一个模块,如果想控制一次导入文件夹中的所有模块,而不用一个个用点号去点,我们需要用到_init_.py文件。

此文件需要与模块在同一目录中,如下图所示,Python中将拥有_init_.py文件的文件夹称为包。

每次import myPackage1时,_init.py会自动执行一次,所以也称为包初始化文件。利用这个特性,我们可以在此文件中写一些代码,用来控制导入文件夹myPackage1时的行为。像这样写这个初始化文件:

import sys# 将__init__.py文件所在目录加入Python搜索目录中,否则会提示找不到myModule1sys.path.append(__file__[:-12])import myModule1

然后,在其它py文件中导入myPackage1,因为_init_.py文件自动执行,myModule1文件会自动被导入。验证一下:

当然,即使在包初始化文件里写了import 某模块,还是可以用 import myPackage1.myModule 这样的方式来导入。包初始化文件不会对原本的导入方式有任何影响。

另一种写法,可以一次导入包中某模块中定义的函数和属性,像这样写_init_.py文件:

import sys
# 将__init__.py文件所在目录加入Python搜索目录中,否则会提示找不到myModule1
sys.path.append(__file__[:-12])

import myModule1

然后,在其它py文件导入时这么写:

可见,可以直接使用myModule1中的定义的函数了。

总结一下,导入模块的写法与_init_.py的写法需要保持一致,即要么都import 包名,要么都from 包名 import *,这样才可达到想要的效果。

我对Python理解还不够深入,仅将摸索出来的一些规律分享出来。

总结

到此这篇关于Python如何导入自己编写的py文件的文章就介绍到这了,更多相关Python导入编写的py文件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python中几种导入模块的方式总结

    模块内部封装了很多实用的功能,有时在模块外部调用就需要将其导入.常见的方式有如下几种: 1 . import >>> import sys >>> sys.path ['', 'C:\\Python34\\Lib\\idlelib', 'C:\\Windows\\system32\\python34.zip', 'C:\\Python34\\DLLs', 'C:\\Python34\\lib', 'C:\\Python34', 'C:\\Python34\\lib\\s

  • Pycharm导入Python包,模块的图文教程

    1.点击File->settings 2.选择Project Interpreter,点击右边绿色的加号添加包 3.输入你想添加的包名,点击Install Package 4.可以在Pycharm保存项目的目录下查看已经安装的包,路径D:\PycharmProjects\untitled\venv\Lib\site-packages 以上这篇Pycharm导入Python包,模块的图文教程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Python在不同目录下导入模块的实现方法

    python在不同层级目录import模块的方法 使用python进行程序编写时,经常会调用不同目录下的模块及函数.本篇博客针对常见的模块调用讲解导入模块的方法. 1. 同级目录下的调用 目录结构如下: – src |– mod1.py |– test1.py 若在程序test1.py中导入模块mod1, 则直接使用 2. 调用子 *import mod1*或from mod1 import *; 目录下的模块 目录结构如下: – src |– mod1.py |– lib | |– mod2.

  • Python创建模块及模块导入的方法

    本文实例讲述了Python创建模块及模块导入的方法.分享给大家供大家参考.具体分析如下: python学习手册中写道: 定义模块,只要使用文本编辑器,把一些python代码输入到文本中,然后以.py为后缀名进行保存,任何此类文件都会被认为是python模块. 比如说,下面的代码输入到一个文件中,就可以看作是一个模块: def printme(var): print var if __name__ == '__main__': printme(1) 假设说输入到a.py中,那么import a就可

  • 图文详解Python如何导入自己编写的py文件

    目录 一. 想要实现的效果 二. 实现的方法 三. 进阶用法 四. 使用_init_.py控制导入某文件夹时执行的操作 总结 一. 想要实现的效果 新建文件夹将自编模块集中管理 可在其它py文件内import 自编模块,像import第三方库一样 二. 实现的方法 步骤1:将编号的模块 *.py放入文件夹,在我计算机中是:F:\OneDrive\PythonPrj\_myFunction 步骤2:新建用户/系统环境变量. 变量名:PYTHONPATH 变量值:文件夹路径 然后就可以实现想要的效果

  • 详解如何将python3.6软件的py文件打包成exe程序

    在我们完成一个Python项目或一个程序时,希望将Python的py文件打包成在Windows系统下直接可以运行的exe程序.在浏览网上的资料来看,有利用pyinstaller和cx_Freeze进行打包的方法.关于cx_Freeze打包的方法,可以参考windows下cx_Freeze生成Python可执行程序中的方法.由于方法主要是可以用于Python3.3版本的,高于该版本的Python无法使用.在我尝试的过程中,碰到的一个问题是: 安装cx_Freeze-4.3.3,找不到cxFreez

  • 图文详解python安装Scrapy框架步骤

    python书写爬虫的一个框架,它也提供了多种类型爬虫的基类,scrapy用途广泛,可以用于数据挖掘.监测和自动化测试 首先要先安装python 安装完成以后,配置一下环境变量. 还需要安装一些组件pywin32,百度搜索下载安装 pywin32安装完成还要安转pip,百度搜索pip下载下来,解压通过cmd命令进行安装 我查看一下pip是否安装成功 执行pip install Scrapy进行安装Scrapy 测试一下Scrapy框架是否安装成功,不报错就说明安装成功了

  • 图文详解Python中最神秘的一个魔法函数

    目录 前言 1.有点价值的missing() 2.神出鬼没的missing() 3.被施魔法的missing() 4.小结 五.总结 前言 一个非常神秘的魔术方法. 这个方法非常不起眼,用途狭窄,我几乎从未注意过它,然而,当发现它可能是上述"定律"的唯一例外情况时,我认为值得再写一篇文章来详细审视一下它. 本文主要关注的问题有:(1) missing()到底是何方神圣?(2) missing()有什么特别之处?擅长"大变活人"魔术? (3) missing()是否真

  • Python和Anaconda和Pycharm安装教程图文详解

    Anaconda 是一个基于 Python 的数据处理和科学计算平台,它已经内置了许多非常有用的第三方库,装上Anaconda,就相当于把 Python 和一些如 Numpy.Pandas.Scrip.Matplotlib 等常用的库自动安装好了,使得安装比常规 Python 安装要容易.如果选择安装Python的话,那么还需要 pip install 一个一个安装各种库,安装起来比较痛苦,还需要考虑兼容性,非如此的话,就要去Python官网(https://www.python.org/dow

  • Python解释器以及PyCharm的安装教程图文详解

    本文给大家分享Python解释器安装以及PyCharm安装过程.很多朋友问小编要完整的安装教程,现分享给大家. 一.Python解释器安装 解释器(英语:Interpreter),又译为直译器,是一种电脑程序能够把高级编程语言一行一行直接转译运行.解释器不会一次把整个程序转译出来,只像一位"中间人",每次运行程序时都要先转成另一种语言再作运行,因此解释器的程序运行速度比较缓慢.它每转译一行程序叙述就立刻运行,然后再转译下一行,再运行,如此不停地进行下去. Python的下载网站:Pyt

  • Python 开发工具PyCharm安装教程图文详解(新手必看)

    PyCharm是由JetBrains打造的一款Python IDE,VS2010的重构插件Resharper就是出自JetBrains之手. 同时支持Google App Engine,PyCharm支持IronPython.这些功能在先进代码分析程序的支持下,使 PyCharm 成为 Python 专业开发人员和刚起步人员使用的有力工具. PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试.语法高亮.Project管理.代码跳

  • 最新Python idle下载、安装与使用教程图文详解

    简介:IDLE是Python软件包自带的一个集成开发环境,可以方便地创建.运行.调试Python程序.本文包括IDEL安装.使用配置.和运行调试教程. 由于Google.YouTube等大型公司的推广,python编程语言越来越受欢迎,很多编程爱好者,也将Python做为了首先的编程语言. 今天我们就来讲一下,学习的第一步,安装Python idle编辑器,也它的调试和使用. 第一步,我们先去下载一个Python idle程序安装包. 本节讲的是windows下的idle,Linux idle是

  • Eclipse中导入Maven Web项目并配置其在Tomcat中运行图文详解

    今天因为实习的关系需要讲公司已经开发的项目导入进Eclipse,而公司的项目是用Maven来构建的所以,需要将Maven项目导入进Eclipse下. 自己因为没有什么经验所以搞了得两个多小时,在这里和大家分享一下自己的经验已经在这之中遇到的一些问题. 首先我通过svn将公司的项目checkout到了本地. 因为Maven遵循的是规约比配置重要的原则,所以Maven项目的结构一般是进入目录后是一个pom.xml文件和一个src文件夹,当然可能还存在一些README之类的这些都不重要,最关键的就是p

  • Python Django的安装配置教程图文详解

    Django 教程 Python下有许多款不同的 Web 框架.Django是重量级选手中最有代表性的一位.许多成功的网站和APP都基于Django. Django是一个开放源代码的Web应用框架,由Python写成. Django遵守BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 . Django采用了MVC的软件设计模式,即模型M,视图V和控制器C. 学习Django前,我们要确定电脑上是否已经安装了Python,目前Python有两个版本,不过这两个版

随机推荐