python untill_Python子流程.Popen()对于Pygame,如何告诉Pygame wait-untill子进程是don...

博主分享了一个创新方法,通过子进程传递用户输入并存储在txt文件中,以解决Pygame中用户输入获取的同步难题。通过exe文件实现进程间通信,但须确保Pygame在接收数据前暂停,避免IndexError。讨论了如何让Pygame在.exe处理完成后继续执行。
摘要由CSDN通过智能技术生成

我有一个大问题,太多的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文件处理完,然后处理你的代码。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值