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中itertools模块zip_longest函数详解
Jun 12 Python
python实现指定文件夹下的指定文件移动到指定位置
Sep 17 Python
python日期与时间戳的各种转换示例
Feb 12 Python
Python自动采集微信联系人的实现示例
Feb 28 Python
Keras设定GPU使用内存大小方式(Tensorflow backend)
May 22 Python
Python带参数的装饰器运行原理解析
Jun 09 Python
Python实现打包成库供别的模块调用
Jul 13 Python
python 实现倒计时功能(gui界面)
Nov 11 Python
Python 找出英文单词列表(list)中最长单词链
Dec 14 Python
Python爬取某平台短视频的方法
Feb 08 Python
python 爬取哔哩哔哩up主信息和投稿视频
Jun 07 Python
Python OpenCV之常用滤波器使用详解
Apr 07 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对象链式操作代码(jquery)
2010/07/04 Javascript
不使用浏览器运行javascript代码的方法
2013/07/24 Javascript
教你如何使用node.js制作代理服务器
2014/11/26 Javascript
Js 获取、判断浏览器版本信息的简单方法
2016/08/08 Javascript
javascript深拷贝(deepClone)详解
2016/08/24 Javascript
轻松掌握JavaScript代理模式
2016/08/26 Javascript
AngularJS实现Input格式化的方法
2016/11/07 Javascript
babel基本使用详解
2017/02/17 Javascript
Node.js使用orm2进行update操作时关联字段无法修改的解决方法
2017/06/13 Javascript
基于Node.js模板引擎教程-jade速学与实战1
2017/09/17 Javascript
JavaScript事件处理程序详解
2017/09/19 Javascript
jQuery实现的简单图片轮播效果完整示例
2018/02/08 jQuery
jquery实现的简单轮播图功能【适合新手】
2018/08/17 jQuery
vue做移动端适配最佳解决方案(亲测有效)
2018/09/04 Javascript
Django+vue跨域问题解决的详细步骤
2019/01/20 Javascript
Vue传参一箩筐(页面、组件)
2019/04/04 Javascript
JavaScript中的一些实用小技巧总结
2019/04/07 Javascript
微信小程序canvas截取任意形状的实现代码
2020/01/13 Javascript
vue移动端使用canvas签名的实现
2020/01/15 Javascript
浅谈vue中get请求解决传输数据是数组格式的问题
2020/08/03 Javascript
Openlayers实现地图的基本操作
2020/09/28 Javascript
[09:43]DOTA2每周TOP10 精彩击杀集锦vol.5
2014/06/25 DOTA
django模板语法学习之include示例详解
2017/12/17 Python
python使用mitmproxy抓取浏览器请求的方法
2019/07/02 Python
对Python中小整数对象池和大整数对象池的使用详解
2019/07/09 Python
CSS3使用transition实现的鼠标悬停淡入淡出
2015/01/09 HTML / CSS
专注澳大利亚特产和新西兰特产的澳洲中文网:0061澳洲制造
2019/03/24 全球购物
什么是测试驱动开发(TDD)
2012/02/15 面试题
校园门卫岗位职责
2013/12/09 职场文书
运动会通讯稿500字
2014/02/20 职场文书
教师读书活动总结
2014/05/07 职场文书
学习十八大的心得体会
2014/09/01 职场文书
自愿离婚协议书2015
2015/01/26 职场文书
物业保洁员管理制度
2015/08/05 职场文书
银行工作心得体会范文
2016/01/23 职场文书
基于Python绘制子图及子图刻度的变换等的问题
2021/05/23 Python