调用/运行外部 .py 文件
我现在有一个基本的游戏已经可以运行了,我正在编写游戏的主菜单部分的代码,这个菜单会在欢迎用户时显示出来。
我在想,用户选择菜单中的“开始游戏”选项后,能否直接启动主游戏。目前我有两个不同的.py文件,一个是游戏菜单的,另一个是游戏本身的。我想知道有没有什么特别的方法可以让menu.py在用户选择“开始游戏”后运行game.py?
1 个回答
0
首先,你不能导入这个文件,除非:
A: 两个程序在同一个文件夹里,或者
B: 你想导入的程序在一个属于PYTHONPATH变量的文件夹里。
不过,不管怎样,这都不是运行外部Python文件的最佳方式。听起来你希望它能像一个独立的程序那样运行,而不是作为你当前程序的一部分。通常,导入的程序不应该在导入时就执行任何东西,而是应该定义一些函数和变量,供主程序使用。你应该使用subprocess来运行这个程序,这样就像你在命令行中输入它一样,会启动一个新的程序。
下面是一个运行外部文件的代码示例。这个方法的另一个好处是,文件不必在当前程序的工作目录中,只需要提供程序的文件路径即可。以下是代码示例:
import subprocess
filepath = "Documents/game"
subprocess.call("python "+filepath)
这将执行一个新的Python进程。
你还可以把文件放在同一个目录下,并把游戏中运行的代码放在一个函数里,这样你就可以导入它,然后在需要的时候调用这个函数。