Я создаю программу для обмена мгновенными сообщениями для обычного диска моей школы. У меня все работает, за исключением мелких деталей. В приведенном ниже коде он проверяет новое сообщение от друга и печатает последнее отправленное им сообщение. Если сообщений нет, это говорит так. Проблема заключается в том, когда он переходит к следующему шагу кода, который ждет пользователя, чтобы ввести вход. Пока вы не введете ввод, он не позволит вам получать больше сообщений, потому что программа перестает читать и ищет цикл while и попадает в инструкцию ввода. Я хочу знать, если в любом случае сделать ввод инструкцией необязательным. Сказать, что он не требует ввода, но если есть вход, он отправит его и сделает это. Я просто не могу понять, как сделать ввод инструкцией необязательным. Любые идеи или рабочий код были бы весьма признательны. Если вам нужен весь код, у меня нет проблем с отправкой его вам или отправкой. Это единственный бит кода, который действительно имеет значение для этой проблемы.Дополнительная инструкция ввода()
LastMessage = ""
while Message:
Path = "Message"+SendTo+"-"+UserName+".txt"
if path.isfile(Path):
LoadMessage = open(Path, "rb")
NewMessage = pickle.load(LoadMessage)
LoadMessage.close()
else:
NewMessage = "Sorry, No messages found"
if LastMessage != NewMessage:
LastMessage = NewMessage
print(NewMessage)
print("")
SendMessage = raw_input() #--- This is where it gets caught up! ---
Save = open("Message"+UserName+"-"+SendTo+".txt", "wb")
pickle.dump(SendMessage, Save)
Save.close()
Если я правильно понимаю, вы хотите иметь возможность печатать новые сообщения и получать данные от пользователя одновременно? Почему бы не использовать Threads? – Lazybeem