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生成验证码实例
Aug 21 Python
Python 正则表达式(转义问题)
Dec 15 Python
Python下的subprocess模块的入门指引
Apr 16 Python
python 捕获shell脚本的输出结果实例
Jan 04 Python
浅谈python中的正则表达式(re模块)
Oct 17 Python
Python实现的求解最大公约数算法示例
May 03 Python
详解python算法之冒泡排序
Mar 05 Python
python实现雪花飘落效果实例讲解
Jun 18 Python
Python使用get_text()方法从大段html中提取文本的实例
Aug 27 Python
Python 连接 MySQL 的几种方法
Sep 09 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
Nov 19 Python
python小型的音频操作库mp3Play
Apr 24 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
比较详细PHP生成静态页面教程
2012/01/10 PHP
使用PHP备份MYSQL数据的多种方法
2014/01/15 PHP
PHP中使用xmlreader读取xml数据示例
2014/12/29 PHP
php获取当前页面完整URL地址
2015/12/30 PHP
php 自定义错误日志实例详解
2016/11/12 PHP
poshytip 基于jquery的 插件 主要用于显示微博人的图像和鼠标提示等
2012/10/12 Javascript
jQuery插件开发基础简单介绍
2013/01/07 Javascript
jQuery中noconflict函数的实现原理分解
2015/02/03 Javascript
JS+CSS实现仿支付宝菜单选中效果代码
2015/09/25 Javascript
javascript设计模式--策略模式之输入验证
2015/11/27 Javascript
javascript html5摇一摇功能的实现
2016/04/19 Javascript
js简单实现网页换肤功能
2017/04/07 Javascript
Angular2使用Guard和Resolve进行验证和权限控制
2017/04/24 Javascript
详解Angular 4.x NgIf 的用法
2017/05/22 Javascript
15分钟学会vue项目改造成SSR(小白教程)
2019/12/17 Javascript
编写一个javascript元循环求值器的方法
2020/04/14 Javascript
原生js实现移动小球(碰撞检测)
2020/12/17 Javascript
[02:26]DOTA2英雄米拉娜基础教程
2013/11/25 DOTA
[53:13]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-GAMING
2014/05/22 DOTA
一个检测OpenSSL心脏出血漏洞的Python脚本分享
2014/04/10 Python
让Python代码更快运行的5种方法
2015/06/21 Python
Python2.x与Python3.x的区别
2016/01/14 Python
使用paramiko远程执行命令、下发文件的实例
2017/10/01 Python
pandas.DataFrame选取/排除特定行的方法
2018/07/03 Python
python实现自动解数独小程序
2019/01/21 Python
Python实现的银行系统模拟程序完整案例
2019/04/12 Python
Python中函数参数匹配模型详解
2019/06/09 Python
Python中zip()函数的简单用法举例
2019/09/02 Python
python matplotlib模块基本图形绘制方法小结【直线,曲线,直方图,饼图等】
2020/04/26 Python
Brother加拿大官网:打印机、贴标机、缝纫机
2019/10/09 全球购物
你常见到的runtime exception
2016/09/05 面试题
《曹刿论战》教学反思
2014/03/02 职场文书
根叔历年演讲稿
2014/05/20 职场文书
家长高考寄语
2015/02/27 职场文书
工厂门卫岗位职责
2015/04/13 职场文书
Android自定义双向滑动控件
2022/04/19 Java/Android