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获取文件版本信息、公司名和产品名的方法
Oct 05 Python
python中Pycharm 输出中文或打印中文乱码现象的解决办法
Jun 16 Python
深入探究Django中的Session与Cookie
Jul 30 Python
浅谈python 线程池threadpool之实现
Nov 17 Python
python中的闭包函数
Feb 09 Python
Python3中lambda表达式与函数式编程讲解
Jan 14 Python
对PyQt5的输入对话框使用(QInputDialog)详解
Jun 25 Python
Python的垃圾回收机制详解
Aug 28 Python
python实现高斯投影正反算方式
Jan 17 Python
如何使用pandas读取txt文件中指定的列(有无标题)
Mar 05 Python
python代码xml转txt实例
Mar 10 Python
python使用opencv resize图像不进行插值的操作
Jul 05 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
解析curl提交GET,POST,Cookie的简单方法
2013/06/29 PHP
简单分析ucenter 会员同步登录通信原理
2014/08/25 PHP
Ubuntu彻底删除PHP7.0的方法
2018/07/27 PHP
Laravel框架实现的批量删除功能示例
2019/01/16 PHP
IE中radio 或checkbox的checked属性初始状态下不能选中显示问题
2009/07/25 Javascript
JavaScript cookie的设置获取删除详解
2014/02/11 Javascript
jQuery固定元素插件scrolltofixed使用指南
2015/04/21 Javascript
初步认识JavaScript函数库jQuery
2015/06/18 Javascript
快速掌握Node.js环境的安装与运行方法
2016/02/16 Javascript
使用 jQuery.ajax 上传带文件的表单遇到的问题
2016/10/31 Javascript
将json转换成struts参数的方法
2016/11/08 Javascript
基于JavaScript实现类名的添加与移除
2017/04/23 Javascript
详解解决小程序中webview页面多层history返回问题
2019/08/20 Javascript
js神秘的电报密码 哈弗曼编码实现
2019/09/10 Javascript
浅谈小程序globalData的那些事儿
2019/11/01 Javascript
JavaScript 事件代理需要注意的地方
2020/09/08 Javascript
[01:15:18]2014 DOTA2国际邀请赛中国区预选赛 LGD VS Speed Gaming.cn
2014/05/22 DOTA
Python 正则表达式(转义问题)
2014/12/15 Python
python 文件操作删除某行的实例
2017/09/04 Python
python和ruby,我选谁?
2017/09/13 Python
python学习基础之循环import及import过程
2018/04/22 Python
Python中的函数作用域
2018/05/07 Python
python+Splinter实现12306抢票功能
2018/09/25 Python
Python 堆叠柱状图绘制方法
2019/07/29 Python
Python 调用 Windows API COM 新法
2019/08/22 Python
Python获取当前脚本文件夹(Script)的绝对路径方法代码
2019/08/27 Python
mac使用python识别图形验证码功能
2020/01/10 Python
Pygame框架实现飞机大战
2020/08/07 Python
python开发入门——列表生成式
2020/09/03 Python
英国最大的婴儿监视器网上商店:Baby Monitors Direct
2018/04/24 全球购物
精伦电子Java笔试题
2013/01/16 面试题
应聘医药代表职位求职信
2013/10/21 职场文书
退休感言
2014/01/28 职场文书
大学新生军训自我鉴定
2014/03/18 职场文书
先进工作者推荐材料
2014/12/23 职场文书
mysql序号rownum行号实现方式
2022/12/24 MySQL