Visual Studio Python:无法从www.example.com文件导入函数another.py

vuktfyat  于 2022-11-17  发布在  Python
关注(0)|答案(9)|浏览(174)

我有一个名为handshake.py的文件。其中有一个函数send_data(argument)。我想将该函数导入到另一个名为siptest.py的文件中。我遇到了两个问题。我正在使用windows 7,64位的microsoft visual studio。1)我无法导入函数。我尝试使用,

from handshake import*
handshkae.send_data(argument)

这给予我一个错误。

NameError: global name 'handshake' is not defined

我尝试过的另一个选项是使用

import handshake
handshake.send_data(argument)

这给了我一个属性错误。

AttributeError: 'module' object has no attribute 'send_data'

如果我以其他方式使用它,例如

from handshake import send_data

2)MS Visual Studio说。没有发现测试,请检查配置设置,但我仍然可以运行测试。它说,测试失败,因为导入错误。

ImportError: cannot import name send_data

这两个文件都在同一目录中。另外,该函数在www.example.com中的类“TCPhandshake”中定义handshake.py

quhf5bfb

quhf5bfb1#

一个可能的原因是:模块www.example.com和www.example.com之间存在引用循环a.pyb.py:
a.py中:import b
b.py中:import a
解决的办法是打破循环,你需要明确哪个模块应该做什么,减少依赖。

cotxawn7

cotxawn72#

确保两个文件位于同一目录中,然后尝试:

from handshake import send_data

如果此方法不起作用,请尝试重命名handshake.py文件。

jdg4fx2g

jdg4fx2g3#

handshake.pysiptest.py是否在同一目录中?
如果没有,你可以试试这个:1)将__init__.py空文件添加到包含handshake.py的目录。2)然后将该目录的路径添加到LD_LIBRARY_PATH和PYTHONPATH

h4cxqtbf

h4cxqtbf4#

确保函数在路径中

import sys
sys.path.insert(0, '/directory/tothe/handshakefile/')

然后再

import handshake
fzsnzjdm

fzsnzjdm5#

我遇到了同样的问题,当我尝试使用python /home/name/workspace/ www.example.com从另一个目录运行程序时,也出现了同样的test.py
修理我累了。

import sys
import os

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR)

这需要在开始时添加。这对我很有效。

slhcrj9b

slhcrj9b6#

我找到了一种在同一目录中导入文件的方法,例如,通过将关键字实现为和一个对象变量

import file as fileObj

但缺点是,当您想要访问导入的文件变量时,必须首先使用fileObj.fileObjVariable.

k0pti3hp

k0pti3hp7#

尝试添加/更新环境变量PYTHONPATH,该变量应指向包含shakehake.py的文件夹

zynd9foi

zynd9foi8#

这是非常简单的,但对我来说,它的工作重新启动内核。

apeeds0o

apeeds0o9#

只需确保文件都位于项目的根目录下,这样就可以了:

import handshake
handshake.send_data(argument)

相关问题