【发布时间】:2019-06-18 12:26:00
【问题描述】:
我在导入函数时遇到了一些问题。这是代码!
main.py
!/usr/bin/env python
import pyglet
class main():
def mainfunc(self):
# sets up user input and converts it into a string
userinput = str(input("Please enter the full path of your file: "))
path = userinput
return userinput
music = pyglet.media.load(userinput)
exitinput = str(input("Do you want to exit? Please press q to quit!"))
music.play()
pyglet.app.run()
if exitinput == "q":
quit()
else:
pass
main()
播放列表.py
from main import mainfunc
class PlayLists:
def playlists(self):
playinput = str(input("Please enter a key if you want to save a playlist"))
user = main()
user.main(userinput)
另外,我在尝试按“q”按钮退出程序时遇到问题。顺便说一句,main.py 的第一行需要一个井号。 谢谢!
【问题讨论】:
-
第一:当时一个问题。其次,您的代码存在更多错误,而不仅仅是从其他文件导入。因此,首先降低代码的复杂性,看看不太复杂的方法是否有任何问题,而不是在您认为需要时转向更复杂的解决方案。在这种情况下,这意味着。只使用一个文件。不要使用任何类,您当前使用它们不正确,即它们的代码不完整。如果您正确地进行了该工作,则可以通过将内容放入类中来继续前进。如果你有这个工作,你可以在文件中分割东西。
-
我认为这里的问题不仅仅是导入。例如,
return userinput将返回并退出函数。该函数的其余部分将不会运行。我还认为这里不需要类,因为没有利用面向对象的范式(至少在您发布的内容中没有明确) -
我认为你没有理由使用课程。您永远不会调用它的 __init__(self): 函数,实际上根本不会使用和 self.method 功能。在我看来,您应该取出
class main()行并删除 main.py 中的其余代码,使其成为一个函数
标签: python python-3.x function class variables