我还不熟悉python中的文件I/O,因此在弄清楚如何在文件中查找特定变量时遇到了一些麻烦。你知道吗
这是我要打开的文件(txt类型):
grelha = [['O', 'H', 'L', 'E', 'M', 'R', 'R', 'V', 'U'],
['B', 'B', 'R', 'A', 'N', 'C', 'O', 'Z', 'A'],
['S', 'R', 'A', 'M', 'S', 'U', 'P', 'A', 'O'],
['A', 'A', 'B', 'A', 'P', 'O', 'T', 'Z', 'Z'],
['L', 'N', 'Z', 'R', 'O', 'E', 'R', 'N', 'U'],
['I', 'U', 'I', 'E', 'P', 'D', 'O', 'I', 'I'],
['L', 'O', 'L', 'L', 'O', 'R', 'A', 'C', 'A'],
['I', 'T', 'M', 'O', 'T', 'E', 'R', 'P', 'P'],
['L', 'I', 'E', 'A', 'Z', 'V', 'Y', 'U', 'U']]
palavras = ['branco','preto','azul','verde','rosa','amarelo','vermelho','cinza','lilas']
这是我得到的密码:
def file():
game_file = open(str(input("What is the name of the file?")), "r+")
for i in game_file:
if i == 'grelha':#"I've tried without it being a string as well"
print (i)
据我所知,没有任何方法可以帮助我做到这一点,而且我也不太清楚在这种情况下迭代是如何工作的。你知道吗
如果有人能帮我解决这个问题,解释一下迭代,那就太好了!你知道吗
您所做的似乎天真地假设,仅仅因为文件内容是有效的python,用python打开它就会将其解析为python。绝对不是这样。您需要选择一种存储数据的格式,以便在需要读回数据时能够正确地解释数据。你知道吗
例如,您可能会发现JSON是存储此类结构化数据的完美方式:
然后您可以使用内置的JSON模块在程序中读取它:
默认情况下,python逐行读取文件,因此
if i == 'grelha'
将一无所获。你知道吗如果要查找以palavras开头的行,可以使用
startwith()
方法:对于文件,逐行迭代; 对于str,迭代是逐字符进行的
一般来说,python将文件视为字符串,因此不能在文件中编写python代码,
palavras = ['branco','preto','azul','verde','rosa','amarelo','vermelho','cinza','lilas']
行是字符串,而不是代码。你仍然需要解析它们。你知道吗相关问题 更多 >
编程相关推荐