如何在Python中导入其他文件?
import file.py?例如,main.py我有:
from extra import *
Run Code Online (Sandbox Code Playgroud)
虽然这给了我所有的定义extra.py,但也许我想要的只是一个定义:
def gap():
print
print
Run Code Online (Sandbox Code Playgroud)
我怎么添加到import语句只得到gap从extra.py?
我有一个具有该结构的项目
/example
../prediction
....__init__.py
....a.py
Run Code Online (Sandbox Code Playgroud)
PYTHONPATH指向/示例
现在我打开终端中的python并输入
import prediction
Run Code Online (Sandbox Code Playgroud)
它成功了,但如果我输入
import prediction.a
Run Code Online (Sandbox Code Playgroud)
它返回错误
ImportError: No module named 'prediction.a'; 'prediction' is not a package
Run Code Online (Sandbox Code Playgroud)
这是为什么?不是已经作为包导入
from ..box_utils import decode, nms
Run Code Online (Sandbox Code Playgroud)
该行显示错误
ImportError:尝试相对导入,没有已知的父包
这是什么错误,以及如何解决该错误?
我有一个简单的目录结构:
proj/
src/
__init__.py
foo.py
bar.py
test/
__init__.py
test_foo.py
Run Code Online (Sandbox Code Playgroud)
测试_foo.py
import unittest
import sys
sys.path.append('../src')
from src import foo
class TestFoo(unittest.TestCase):
def test_foo(self):
foo.start()
if __name__ == '__main__':
unittest.main()
Run Code Online (Sandbox Code Playgroud)
foo.py
import bar
def start():
bar.do_stuff()
Run Code Online (Sandbox Code Playgroud)
运行测试时(我使用 vscode),出现以下错误:
Failed to import test module: test_foo
Traceback (most recent call last):
File "~/.pyenv/versions/3.8.6/lib/python3.8/unittest/loader.py", line 436, in _find_test_path
module = self._get_module_from_name(name)
File "~/.pyenv/versions/3.8.6/lib/python3.8/unittest/loader.py", line 377, in _get_module_from_name
__import__(name)
File "~/proj/test/test_foo.py", line 6, in <module>
from src import foo
File "~/proj/src/foo.py", line 1, in <module> …Run Code Online (Sandbox Code Playgroud) 我还不太了解python,情况就是这样。
假设我有一个名为 functions.py 的 python 文件,它包含一个包含我的函数的类。下面是一个例子。
import json
class Functionalities:
def addelement(element):
# code goes here`
Run Code Online (Sandbox Code Playgroud)
我还有另一个 python 文件,一种“可执行”脚本,它使用 functions.py 类中的函数完成所有工作
添加from . import functions没有帮助。
如何从另一个文件中调用类中的函数?
我在一个文件中创建了一个函数,并希望在 python 中的另一个脚本中运行它时访问它(例如,在 MatLab 中,您将函数创建为文件,并且可以在其他程序中访问它)