制作基于文本的游戏,并希望通过段落从故事文本文件中读取内容,而不是打印某些字符?
You wake up from a dazed slumber to find yourself in a deep dank cave with moonlight casting upon the entrance...
You see a figure approaching towards you... Drawing nearer you hear him speak...
答案 0 :(得分:1)
您要这样做:my_list = my_string.splitlines()
https://docs.python.org/3/library/stdtypes.html#str.splitlines
答案 1 :(得分:0)
就像@martineau一样,建议您为单独的不同段落使用分隔符。 它甚至可以是换行符(\ n),在拥有换行符之后,您将读取文件的所有内容,并使用定义的分隔符将其分割。 这样做会生成一个元素列表,每个元素都是一个段落。 一些示例代码:
delimiter = "\n"
with open("paragraphs.txt", "r") as paragraphs_file:
all_content = paragraphs_file.read() #reading all the content in one step
#using the string methods we split it
paragraphs = all_content.split(delimiter)
这种方法具有一些缺点,例如读取所有内容,并且如果文件很大,那么在故事发生时,您会用现在不需要的内容填充内存。
看看您的文本示例,并知道您将连续打印检索到的文本,一次阅读一行可能是一个更好的解决方案:
with open("paragraphs.txt", "r") as paragraphs_file:
for paragraph in paragraphs_file: #one line until the end of file
if paragraph != "\n":
print(paragraph)
显然,在需要的地方添加一些逻辑控件。