python shell命令行中import多层目录下的模块操作
首先在文件夹中添加_init_.py文件,即使是空文件也可以,多层文件夹,每层文件夹中都要添加。
比如我要import,a文件夹中,b文件夹下的c.py
我就需要在a,b文件夹中都添加_init_.py文件。
然后引入方式:importa.b.c
然后在调用c.py的函数时,直接c.f()是不行的,需要a.b.c.f()。
当然也可以先写c=a.b.c,然后再c.f()。
补充知识:PythonIDLEshell中引入模块
安装了Python之后,会自带一个PythonIDLE,打开之后就是一个Pythonshell,在这个Pythonshell中想引入模块,也就是自己写好的python脚本文件的话,有个路径问题。
如果你把文件放到安装目录的默认shell目录下面,那么引入是没问题的,打开File菜单下的PathBrowser,可以看到。
如果你的python脚本文件是放在自己的目录下,比如我的D:\Projects\python目录下,那么引入是会失败的:
>>>importfibo Traceback(mostrecentcalllast): File"",line1,in importfibo ModuleNotFoundError:Nomodulenamed'fibo' >>>
那么,如何添加我们自己的项目目录呢?就是sys.path这个变量
Python3.7.1(v3.7.1:260ec2c36a,Oct202018,14:57:15)[MSCv.191564bit(AMD64)]onwin32 Type"help","copyright","credits"or"license()"formoreinformation. >>>importsys >>>sys.path.append("D:\Projects\python") >>>sys.path ['','D:\\ProgramFiles\\Python37\\Lib\\idlelib','D:\\ProgramFiles\\Python37\\python37.zip','D:\\ProgramFiles\\Python37\\DLLs','D:\\ProgramFiles\\Python37\\lib','D:\\ProgramFiles\\Python37','D:\\ProgramFiles\\Python37\\lib\\site-packages','D:\\Projects\\python'] >>>importfibo >>>fibo.fib(1000) 1123581321345589144233377610987
先importsys,引入sys这个模块
然后添加我们的目录到sys.path这个列表中就可以了,接下来我们就可以引入我们项目文件夹中的模块也就是我们的脚本文件了。
以上这篇pythonshell命令行中import多层目录下的模块操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。