转自:https://blog.csdn.net/u012654847/article/details/71104470
在使用PyCharm时经常碰到import自己写的py脚本时提示模块未被定位,导致导入失败。
一起来看一个例子:
目录结构:
---实际写的代码
----Interface
------vpn_check.py
Test_vpn_all_copy.py
我们要在test_vpn_all_copy.py这个脚本里import同级目录 interface这个文件夹下的
vpn_check.py这个py文件里包含的所有类及函数。
以下几种写法是错误的:
这种直接导入vpn_check下的所有,运行会报错。
这种导入文件夹下的所有py文件,这样写也不正确,会提示vpn_check下找不到相关的类或函数。
下面这种导入方法就正确了,直接在同级目录的interface后接py文件vpn_check即从
Interface.vpn_check下导入所有。
from xxxx.xxx import *(注意目录名和文件名不能相同,否则会报错)
还有另一个方法,就是import xxx.xxx as X,然后在使用的时候要加上as后面的名字
例如:
import M1.mathfunc as F
class TestMathFunc(unittest.TestCase):
"""Test mathfuc.py"""
def test_add(self):
"""Test method add(a, b)"""
self.assertEqual(3, F.add(1, 2))
self.assertNotEqual(3, F.add(2, 2))