前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python shell命令行中import多层目录下的模块操作

python shell命令行中import多层目录下的模块操作

作者头像
砸漏
发布2020-11-05 11:09:12
1.5K0
发布2020-11-05 11:09:12
举报
文章被收录于专栏:恩蓝脚本恩蓝脚本

首先在文件夹中添加_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目录下,那么引入是会失败的:

代码语言:javascript
复制
    import fibo
Traceback (most recent call last):
 File "<pyshell#0 ", line 1, in <module 
  import fibo
ModuleNotFoundError: No module named 'fibo'

那么,如何添加我们自己的项目目录呢?就是sys.path这个变量

代码语言:javascript
复制
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多层目录下的模块操作就是小编分享给大家的全部内容了,希望能给大家一个参考。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档