python中导入的使用方法

  介绍

这篇文章主要介绍python中导入的使用方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

使用python中导入的方法:1、【导入module_name】,即进口后直接接模块名;2、【从package_name进口module_name】把模块组成的集合。

<强>使用python中导入的方法:

首先,先建立一个文件夹树作为工作目录,并在其内建立两个文件m1.py和m2.py,在m1。py写入代码:

import 操作系统   import 平方米   m2.printSelf ()

在m2。py写入代码:

def  printSelf ():   打印(& # 39;拷贝m2 # 39;)

打开命令行,进入到树目录下,敲下python m1。py运行,发现没有报的错,且打印出在m2,说明这样使用进口没有问题。由此我们总结出导入语句的第一种用法。

<代码> <强>进口module_name <强>。即进口后直接接模块名。在这种情况下,Python会在两个地方寻找这个模块,第一是系统。路径(通过运行代码导入系统;打印(sys.path)查看),操作系统这个模块所在的目录就在列表sys.path中,一般安装的Python库的目录都可以在sys.path中找到(前提是要将Python的安装目录添加到电脑的环境变量),所以对于安装好的库,我们直接进口即可。第二个地方就是运行文件(这里是m1.py)所在的目录,因为m2.py和运行文件在同一目录下,所以上述写法没有问题。

用上述方法导入原有的sys.path中的库没有问题。但是,最好不要用上述方法导入同目录下的文件!因为这可能会出错。演示这个错误需要用到导入语句的第二种写法,所以先来学一学进口的第二种写法。在树目录下新建一个目录分支,在分支中新建文件m3.py, m3。py的内容如下:

def  printSelf ():   打印(& # 39;m3拷贝# 39;)

如何在m1中导入m3.py呢,请看更改后的m1。py:

得到Branch  import  m3   m3.printSelf ()

<强>总结导入语句的第二种用法:

<代码> <强>从package_name进口module_name <强>。一般把模块组成的集合称为包(包),与第一种写法类似,Python会在sys.path和运行文件目录这两个地方寻找包,然后导入包中名为代码>

现在我们来说明为什么不要用进口的第一种写法来导入同目录下的文件。在分支目录下新建m4.py文件,m4。py的内容如下:

def  printSelf ():   打印(& # 39;拷贝m4 # 39;)

然后我们在m3.py中直接导入m4, m3。py变为:

import  m4   def  printSelf ():   打印(& # 39;m3拷贝# 39;)

这时候运行m1。py就会报错了,说没法导入m4模块。为什么呢?我们来看一下导入流程:m1使用从分支导入m3导入m3,然后在m3。py中用进口m4导入m4。看出问题了吗? m4.py和m1。py不在同一目录,怎么能直接使用进口m4导入m4呢。(读者可以试试直接在树目录下新建另一个m4.py文件,你会发现再运行m1.py就不会出错了,只不过导入的是第二个m4.py了)

面对上面的错误,使用python2运行m1.py就不会报错,因为在python2中,上面提到的进口的两种写法都属于相对导入,而在python3中,却属于绝对导入话。说到了这里,就要牵扯到进口中最关键的部分了——相对导入和绝对导入。

我们还是谈论python3的进口用法。上面提到的两种写法属于绝对导入,即用于导入sys.path中的包和运行文件所在目录下的包。对于sys.path中的包,这种写法毫无问题;导入自己写的文件,如果是非运行入口文件(上面的m1.py是运行入口文件,可以使用绝对导入),则需要相对导入。

比如对于非运行入口文件m3.py,其导入m4。py需要使用相对导入:

得到只import  m4   def  printSelf ():   打印(& # 39;m3拷贝# 39;)

这时候再运行m1。py就ok了。

以上是“python中导入的使用方法”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

python中导入的使用方法