无法将Python文件导入到另一个文件中

4

我基本上是在Visual Studio上使用Python(初学者),并且在将一个Python文件导入另一个Python文件时遇到了困难。我正在做一个任务,它有3个文件a、b和test_a,在文件'a'中创建一个函数,并将该文件导入到test_a中以测试函数,但没有得到答案。
我尝试了将文件'a'导入到'test_a'中的以下行,但无法导入。

from a import * 

有什么办法可以将整个文件导入到另一个文件中吗?

2
atest_a 是否在同一个文件夹中?你在尝试上述行时是否遇到任何错误? - Anand S Kumar
是的,我创建了一个项目并将.py文件添加到该项目中,但是不,我没有遇到任何错误:/ - Farrukh Faizy
如果你没有收到任何错误信息,那么你的问题是什么? - Anand S Kumar
我无法访问test_a文件中a的函数。 - Farrukh Faizy
我在Jupyter笔记本中遇到了类似的问题,导入文件名成功但无法获取类。重新启动Jupyter内核帮助我解决了这个问题。 - Kharthigeyan
6个回答

3
如果文件 aa_test 都在同一个文件夹下,你应该能够调用来自 a 的方法(即使它们不在 sys.path 中):

a.py

def hello():
    print 'Hello'

a_test.py

from a import *
hello()

如果我运行a_test.py,返回'Hello'。这个简单的例子对你有用吗?请记住某些导入(名称为file)可能会导致问题,如果它们已经是Python核心模块。

我犯了一个愚蠢的错误,我没有运行我的文件,而是运行了整个项目,这没有引起什么问题.. 现在所有东西都达到标准了。 - Farrukh Faizy
啊,那一定是这个问题。很高兴听到它起作用了。如果我的答案有助于发现实际错误,请考虑投票支持我。 - adrianus
当然,这对我有帮助,可以运行单个文件而不是整个项目。 - Farrukh Faizy

0
你需要确保要导入的模块存在于sys.path中。这是Python在磁盘上搜索模块和包时使用的目录列表。
要将位置添加到sys.path中,可以在环境中设置PYTHONPATH以包括模块所在的目录。
请参阅: https://docs.python.org/2/library/sys.html#sys.path

0

0
如果你只是想导入文件"a",那么只需要使用import a即可。

0
Visual Studio提供了在两个环境和项目中直接指定搜索路径的方法。在Visual Studio中运行或调试的代码将在PYTHONPATH(和其他等效变量)的值中接收搜索路径。通过添加搜索路径,Visual Studio检查这些位置中的库,并在需要时为它们构建IntelliSense数据库(Visual Studio 2017版本15.5及更早版本;根据库的数量,构建数据库可能需要一些时间)。
要添加搜索路径,请转到“解决方案资源管理器”,展开您的项目节点,在“搜索路径”上右键单击,选择“添加文件夹到搜索路径”。
这篇来自官方文档的链接对很有用。

0

你需要在项目中设置库路径

  1. 右键单击你的项目
  2. 打开属性
  3. 打开调试
  4. 将包含你想要导入的文件的文件夹路径写入“运行”组框的搜索路径中

  5. 现在你可以导入其他文件夹的Python文件了


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接