我有一个大问题,太多的Pygame用户都有,我想从Pygame的用户那里获取输入。我可能在网上查过所有的信息,包括stackoverflow,什么也没解决。在
所以我决定做一个解决方案,我创建了另一个Python脚本(我把它转换成.exe以便子进程可以打开它),在Pygame运行之前向用户提问,然后这个脚本将用户的数据保存到一个.txt文件中(如数据库),然后在Pygame中打开.txt文件并获取数据。从社会上讲它是有效的,但问题是,我必须告诉Pygame,当子进程正在处理时,请等待它。这就是我可以避免索引错误等错误的方法。因为我使用的是readlines(),直到.exe文件被关闭,否则Pygame必须等待,如果没有;readlines()将数据作为list提供,然后它会正常抛出IndexError。所以Pygame必须等到我把数据放在.exe文件中。让我用我的密码来解释
这是从用户获取数据的脚本(我已经将其转换为exe,以便子进程可以打开):#!/usr/bin/env python
# -*-coding:utf-8-*-
while True:
user=input("Please enter your name: ")
try:
user_age=int(input("Please enter your age: "))
except ValueError:
print ("Invalid characters for 'age', try again.")
continue
ask_conf=input("Are you confirm these informations?(Y/N): ")
if ask_conf.lower()=="y":
with open("informations.txt","w") as f: #create the file
f.write(user+"\n")
f.write(str(user_age))
break
else:
continue
然后,在Pygame中,我打开了这个.exe文件,但是Pygame不会等待,通常会出现错误。在
^{pr2}$
这个方法几乎可以工作了,我想我终于在玩游戏。但是我不知道怎么告诉Pygame,等我把.exe文件处理完,然后处理你的代码。在