博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
无法import的原因(ImportError: No module named *****)
阅读量:5094 次
发布时间:2019-06-13

本文共 660 字,大约阅读时间需要 2 分钟。

python中,每个py文件被称之为模块,每个具有__init__.py文件的目录被称为包。只要模块或者包所在的目录在sys.path中,就可以使用import 模块或import 包来使用。

 
如果想使用非当前模块中的代码,需要使用Import,这个大家都知道。
如果你要使用的模块(py文件)和当前模块在同一目录,只要import相应的文件名就好,比如在a.py中使用b.py:

import b

但是如果要import一个不同目录的文件(例如b.py)该怎么做呢?
首先需要使用sys.path.append方法将b.py所在目录加入到搜素目录中。然后进行import即可,例如

import syssys.path.append('c:\xxxx\b.py')

大多数情况,上面的代码工作的很好。但是如果你没有发现上面代码有什么问题的话,可要注意了,上面的代码有时会找不到模块或者包(ImportError: No module named xxxxxx),这是因为:
sys模块是使用c语言编写的,因此字符串支持 '\n', '\r', '\t'等来表示特殊字符。所以上面代码最好写成:

sys.path.append('c:\\xxx\\b.py')

或者

sys.path.append('c:/xxxx/b.py')

 

这样可以避免因为错误的组成转义字符,而造成无效的搜索目录(sys.path)设置。

 

转载于:https://www.cnblogs.com/leehongee/p/4610548.html

你可能感兴趣的文章
vue diff 算法学习
查看>>
[原]图书馆值班小思
查看>>
16章个人总结
查看>>
Force Cast Of Java
查看>>
第三次作业
查看>>
Beta冲刺第三天
查看>>
人人编程
查看>>
第二章 基因芯片
查看>>
Android 开发之Windows环境下Android Studio安装和使用教程
查看>>
按示例学python:使用python抓取网页正文
查看>>
简单十步让你全面理解SQL
查看>>
关于react-redux中的connect函数
查看>>
状态模式
查看>>
AutoCAD.net/Map 3D/AIMS/MapGuide/Civil 3D二次开发学习指南
查看>>
运算符
查看>>
windows8壁纸欣赏
查看>>
Spring-boot 国际化
查看>>
SpringAOP单元测试时找不到文件。
查看>>
Alpha冲刺 - (4/10)
查看>>
fzu Problem 1563 Prime Numbers
查看>>