所以,我有一个名为“多个动画”的 python 文件和一个名为“Ball”的
your text
另一个文件。我想将我的 python 文件 Ball 导入到我的多个动画文件中。但这就是我的终端窗口显示的内容:
Traceback (most recent call last):
File "C:\Users\shipr\PycharmProjects\pythonProject\Vihaan's
python\Multiple Animations.py", line 2, in <module>
from Ball import *
ModuleNotFoundError: No module named 'Ball'
这是我在多个动画文件中编写的内容:
from Ball import *
from tkinter import *
import time
window = Tk()
WIDTH = 500
HEIGHT = 500
CANVAS = Canvas(window)
CANVAS.pack()
volleyball = Ball(CANVAS, 0, 0, 100, 1, 1, 'white')
while True:
volleyball.move()
window.update()
time.sleep(0.01)
window.mainloop()
这就是我在 Ball 文件中写的内容:
class Ball:
def __init__(self, CANVAS, x, y, diameter, xvelocity, yvelocity, color):
self.CANVAS = CANVAS
self.image = CANVAS.create_oval(x, y, diameter, diameter, fill=color)
self.xvelocity = xvelocity
self.yvelocity = yvelocity
def move(self):
coordinates = self.CANVAS.coords(self.image)
print(coordinates)
我检查了是否有任何命名冲突,因为有时它可以解决问题,但我没有看到任何冲突。我改变了一些东西的名称,但它仍然不起作用。我只喜欢 Pycharm 社区版本(因为我不喜欢为数字产品付费)。
首先,我认为你需要确保多个动画和球都在同一目录中,因为Python首先搜索同一目录。如果它们不在同一目录中,您可以移动球,使其与多个动画位于同一目录中。如果 Ball 位于子目录中,则导入行可以写为
From .Ball import *
,如 .意味着Python将在Multiple Animations目录中搜索Ball文件。
我的尝试:
Ball
文件:
def print_ball():
print('ball')
我的
test_import
:
import imp
ball_imp = imp.load_source('Ball' ,'Ball')
ball_imp.print_ball()
两个文件位于同一文件夹中
屏幕上的输出运行
test_import
和 python test_import
:
ball