我已经启动并运行了一个基本游戏,并且我正在编写游戏主菜单部分的代码,以启动用户。
我想知道在用户选择菜单的“开始游戏”部分后是否可以启动主游戏。目前我有两个不同的.py文件,一个用于我的游戏菜单,另一个用于游戏本身,是否有一种特定的方式我可以在选择“开始游戏”选项后运行game.py来运行game.py? / p>
答案 0 :(得分:0)
首先,您将无法导入它,除非:
答:两个程序都在同一个目录中,或者 B:您尝试导入的程序位于PYTHONPATH变量的一个目录中。
但是,无论哪种方式,这都不是运行外部py文件的最佳方式。听起来你希望它能够理想地作为一个独立的程序运行,而不是当前程序的一部分。你导入的程序实际上不应该在导入时运行任何东西,但实际上应该只为主程序的使用定义一些函数和变量。你应该用来运行程序的是subprocess,它会启动一个新程序,就像你在命令行输入它一样。
以下是运行外部文件的代码示例。这种方法的另一个优点是文件不必在程序的当前工作目录中,它只需要拥有程序的文件路径。以下是代码示例:
import subprocess
filepath = "Documents/game"
subprocess.call("python "+filepath)
这将执行一个新的python进程。
您可以做的另一件事是将文件放在同一目录中,并使游戏中包含的代码包含在函数中,以便您可以导入它,而不是在需要时调用该函数。