Python exec不传递参数?

2024-09-27 00:21:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我把一些.py文件放在一起,基本上用作独立于平台的.bat文件,用某些参数运行gzdoom

预期行为基于本机shell:

  • 如果我在cmd中运行..\gzdoom411\gzdoom.exe,它会打开一个GUI窗口,提示我输入iwad

  • 如果我运行..\gzdoom411\gzdoom.exe -iwad ..\wads\DOOM2.WAD,它不会提示我输入iwad,而是直接进入游戏

在python中,实际情况是:

print(f"exepath is {exepath}")
print(f"args is {args}")
os.execv(exepath, args)

输出结果

exepath is ..\gzdoom411\gzdoom.exe
args is ['-iwad', '..\\wads\\DOOM2.WAD']

但是运行的程序就像没有收到args一样:在打印这些消息之后,它打开GUI窗口提示我输入iwad,就像我在运行它时没有传递-iwadarg一样

我打电话给execv的方式是否做错了什么


Tags: 文件pyisargsguiexeprintwad

热门问题