我想在2维Gridworld中读取并将其转换为2D字符串列表。
我使用open(" filename")函数读入文件。 我的代码可以工作,但是一旦我用.read()函数打印出gridfile,它就不再起作用了。输出是Gridworld和空列表(['']和 [['']])。 如果我删除了print语句,它就可以正常工作。
任何人都可以向我解释为什么会这样吗?似乎python已经以某种方式"使用"调用.read()函数时无法调用它的文件......
grid_file = open("3by4.grid")
def transform_to_lists(grid_file):
***print(grid_file.read())***
onedim_list = grid_file.read().split('\n')
twodim_list = [i.split(' ') for i in onedim_list]
return twodim_list
print (transform_to_lists(grid_file))
答案 0 :(得分:1)
您的print语句已经读入整个文件,您的第二次尝试没有其他内容可读。如果您需要先打印内容然后进行分析,请将内容分配给变量。
a = grid_file.read()
print (a)
onedim_list = a.split('\n')
....