我有一个名为sample.py的python文件,它具有一些功能,还有一个我想从其中访问sample.py的功能的python文件。我已经尝试了下面的代码,如果我将目录包含在import语句中,则可以正常工作。
from Integrated.sample import *
但是文件夹与我的应用程序不能相同。另外,我在stackoverflow中提到了另一个与我的问题类似的问题,尝试了其中一个答案
from .sample import *
出现以下错误
ModuleNotFoundError: No module named '__main__.crypto'; '__main__' is not a package
目录结构:
-module
--__init__.py
--sample.py
--tester.py
希望获得解决方案
预先感谢
答案 0 :(得分:0)
如果它们在同一模块中,则可以直接导入文件,如下所示。为我工作。
sample.py
@Override
public void start(Stage primaryStage) throws Exception {
Pane root = new Pane();
Rectangle bounds = new Rectangle(50, 50, 100, 100);
Circle circle = new Circle(bounds.getX() + 0.5 * bounds.getWidth(), bounds.getY() + 0.5 * bounds.getHeight(),
0);
circle.setClip(bounds);
root.getChildren().add(circle);
Timeline animation = new Timeline(
new KeyFrame(Duration.ZERO, new KeyValue(circle.fillProperty(), Color.BLUE),
new KeyValue(circle.radiusProperty(), 0d)),
new KeyFrame(Duration.seconds(5), new KeyValue(circle.fillProperty(), Color.RED), new KeyValue(
circle.radiusProperty(), 0.5 * Math.hypot(bounds.getWidth(), bounds.getHeight())))); // at the end of the animation the circle should reach the corners -> diameter = diagonale of rect
root.setOnMouseClicked(evt -> animation.playFromStart());
Scene scene = new Scene(root, 800, 600);
primaryStage.setScene(scene);
primaryStage.show();
}
tester.py
def myfun():
print("Sample")
输出
from sample import myfun
myfun()
答案 1 :(得分:0)
如果我理解您的问题正确,那么您想从另一个python文件夹导入一个python模块。
我看到您已经有一个__init__.py
文件,需要使用该文件来声明此文件夹是python软件包。
导航到要导入模块的文件。
from root.parent.folder.file import function_name
其他方式
import sys
import os
sys.path.append(os.path.abspath("/home/helloworld"))
from helloworld import *
希望这会有所帮助。