使用python

时间:2016-10-09 16:13:29

标签: python python-3.x python-3.5

我正在尝试构建一个基于迷你文本的游戏,就像在python中的第一个项目一样。我决定在文本文件中写下我的故事和内容。我正在设计游戏,以便读取文件中的每个字符并立即打印到屏幕上。

def load_Intro():
liOb = open('loadgame.txt','r')
while True:
    ch = liOb.read(1)
    sys.stdout.write(ch)
    time.sleep(0.002)
    sys.stdout.flush()
    if ch == "\n": continue
    elif ch is None: break

print("\n")

但是我的文本文件有多个段落用一行或两行分隔,还有一些自己的格式。例如,这里是一篇尚未最终确定的摘录:

  

你是马克斯,一个过着平凡生活的大学生。一   那一天,你决定摆脱这种平凡的生活并做点什么   值得冒险并为之自豪!你跳过大学一个星期了   在你的工作场所加班加点,只是为了得到足够的钱。为了   过去1周,你每天工作16个小时,并为此节省了足够的钱   在Belleyard Upon Tyne小镇度过一个舒适的小假期。您   打包行李,第二天就离开家。

     

因为你必须明智地花钱,所以你决定花钱   在一家较旧的酒店住几天。您在一家名为The Silver Mare的酒店办理了入住手续。   你的前两天花得很棒。然而今天早上之后   你醒来,你醒来感觉很累。不仅如此,你几次   觉得有人跟着你,匍匐在你身后。你回头看了看   多次......只是注意到那里没有人。你忽略了   感觉就像宿醉一样,准备享受你的余生   假日。

     

日期:1997年10月21日

     

{更多内容}

当程序运行时,它会读取第一段罚款。如果我错了,纠正我,最后一个条件检测到没有更多的字符要检测,并且卡在循环中。我需要帮助,找出如何以我的文件所写的相同格式读取和显示文件的内容,逐个字符直到文件末尾。

1 个答案:

答案 0 :(得分:1)

为什么尝试按字符阅读?立即将其全部读入缓冲区,然后逐个字符地显示

import sys
import time

liOb = open('loadgame.txt','r')
content=str(liOb.read())

for i in range(len(content)):
    sys.stdout.write(content[i])
    time.sleep(0.002)
    sys.stdout.flush()