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


Posted in Python onMarch 09, 2020

首先在文件夹中添加_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 shell命令行中import多层目录下的模块操作

补充知识: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多层目录下的模块操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python的类方法和静态方法
Dec 13 Python
提升Python程序运行效率的6个方法
Mar 31 Python
Python爬取京东的商品分类与链接
Aug 26 Python
Python操作Excel之xlsx文件
Mar 24 Python
把JSON数据格式转换为Python的类对象方法详解(两种方法)
Jun 04 Python
python自动分箱,计算woe,iv的实例代码
Nov 22 Python
3种python调用其他脚本的方法
Jan 06 Python
pytorch查看模型weight与grad方式
Jun 24 Python
Python关于拓扑排序知识点讲解
Jan 04 Python
使用numpngw和matplotlib生成png动画的示例代码
Jan 24 Python
jupyter notebook指定启动目录的方法
Mar 02 Python
再谈python_tkinter弹出对话框创建
Mar 20 Python
使用Python获取当前工作目录和执行命令的位置
Mar 09 #Python
python爬虫开发之Request模块从安装到详细使用方法与实例全解
Mar 09 #Python
Python如何存储数据到json文件
Mar 09 #Python
找Python安装目录,设置环境路径以及在命令行运行python脚本实例
Mar 09 #Python
Python运行异常管理解决方案
Mar 09 #Python
Python爬虫程序架构和运行流程原理解析
Mar 09 #Python
python opencv 图像边框(填充)添加及图像混合的实现方法(末尾实现类似幻灯片渐变的效果)
Mar 09 #Python
You might like
Javascript中的window.event.keyCode使用介绍
2011/04/26 Javascript
jquery无缝向上滚动实现代码
2013/03/29 Javascript
3分钟写出来的Jquery版checkbox全选反选功能
2013/10/23 Javascript
jquery 检测元素是否存在的实例代码
2013/11/19 Javascript
js判断字符长度以及中英文数字等
2013/12/31 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
2014/08/10 Javascript
JavaScript弹出窗口方法汇总
2014/08/12 Javascript
node.js中的fs.chmodSync方法使用说明
2014/12/18 Javascript
javascript中的altKey 和 Event属性大全
2015/11/06 Javascript
jquery一键控制checkbox全选、反选或全不选
2017/10/16 jQuery
关于Vue单页面骨架屏实践记录
2017/12/13 Javascript
详解Vue+axios+Node+express实现文件上传(用户头像上传)
2018/08/10 Javascript
vue如何解决循环引用组件报错的问题
2018/09/22 Javascript
nodejs实现UDP组播示例方法
2019/11/04 NodeJs
[58:25]VP vs RNG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
[01:16:28]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第二场 2月23日
2021/03/11 DOTA
python对字典进行排序实例
2014/09/25 Python
深入讨论Python函数的参数的默认值所引发的问题的原因
2015/03/30 Python
Python环境下安装使用异步任务队列包Celery的基础教程
2016/05/07 Python
Python中的FTP通信模块ftplib的用法整理
2016/07/08 Python
Python cv2 图像自适应灰度直方图均衡化处理方法
2018/12/07 Python
Python StringIO如何在内存中读写str
2020/01/07 Python
django执行数据库查询之后实现返回的结果集转json
2020/03/31 Python
Django admin组件的使用
2020/10/24 Python
HTML5的表单(绝对特别强大的功能)使用示例
2013/06/20 HTML / CSS
整理HTML5的一些新特性与Canvas的常用属性
2016/01/29 HTML / CSS
Trunki英国官网:儿童坐骑式行李箱
2017/05/30 全球购物
印度购买眼镜和太阳镜网站:Coolwinks
2018/09/26 全球购物
求最大连续递增数字串(如"ads3sl456789DF3456ld345AA"中的"456789")
2015/09/11 面试题
大学旷课检讨书
2014/01/28 职场文书
消防安全管理制度
2014/02/01 职场文书
采购经理岗位职责
2014/02/16 职场文书
激情洋溢的毕业生就业求职信
2014/03/15 职场文书
市级文明单位申报材料
2014/05/07 职场文书
律师函格式范本
2015/05/27 职场文书
单机多实例部署 MySQL8.0.20
2022/05/15 MySQL