python shell命令行中import多层目录下的模块操作
作者:jiang_mingyi
这篇文章主要介绍了python shell命令行中import多层目录下的模块操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
首先在文件夹中添加_init_.py文件,即使是空文件也可以,多层文件夹,每层文件夹中都要添加。
比如我要import,a文件夹中,b文件夹下的 c.py
我就需要在a,b文件夹中都添加_init_.py文件。
然后引入方式:import a.b.c
然后在调用c.py的函数时,直接c.f()是不行的,需要a.b.c.f()。
当然也可以先写 c = a.b.c,然后再c.f()。
补充知识:Python IDLE shell中引入模块
安装了Python之后,会自带一个Python IDLE,打开之后就是一个Python shell, 在这个Python shell中想引入模块,也就是自己写好的python脚本文件的话,有个路径问题。
如果你把文件放到安装目录的默认shell目录下面,那么引入是没问题的,打开File菜单下的Path Browser,可以看到。
如果你的python脚本文件是放在自己的目录下,比如我的D:\Projects\python目录下,那么引入是会失败的:
>>> import fibo Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> import fibo ModuleNotFoundError: No module named 'fibo' >>>
那么,如何添加我们自己的项目目录呢?就是sys.path这个变量
Python 3.7.1 (v3.7.1:260ec2c36a, Oct 20 2018, 14:57:15) [MSC v.1915 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license()" for more information. >>> import sys >>> sys.path.append("D:\Projects\python") >>> sys.path ['', 'D:\\Program Files\\Python37\\Lib\\idlelib', 'D:\\Program Files\\Python37\\python37.zip', 'D:\\Program Files\\Python37\\DLLs', 'D:\\Program Files\\Python37\\lib', 'D:\\Program Files\\Python37', 'D:\\Program Files\\Python37\\lib\\site-packages', 'D:\\Projects\\python'] >>> import fibo >>> fibo.fib(1000) 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
先import sys,引入sys这个模块
然后添加我们的目录到sys.path这个列表中就可以了,接下来我们就可以引入我们项目文件夹中的模块也就是我们的脚本文件了。
以上这篇python shell命令行中import多层目录下的模块操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。