好的,所以我有这个txt文件,我需要打开,当我使用时,它看起来像这样 下面的代码(实际换行缩进除外,不是\ n语法和''等于空格);
"#####\n # #\n ### #\n #X #\n #####"
...然后将其转换为列表 像这样的名单;
[['#', '#', '#', '#', '#'],
['#', ' ', ' ', ' ', '#'],
['#', '#', '#', ' ', '#'],
['#', 'X', ' ', ' ', '#'],
['#', '#', '#', '#', '#']]
这是我的代码,我能够将正常的txt文件打印到Shell中,但我不能 弄清楚如何使用列表列表将其转换为上面。
def file_open (filename):
openfile = open(filename, 'rU')
str1= openfile.read()
openfile.close()
print str1
任何人都可以帮忙解决这个问题吗?
答案 0 :(得分:2)
使用字符串s
...:
>>> s = "#####\n # #\n ### #\n #X #\n #####"
您可以按每个新行拆分:
>>> print s.split('\n')
['#####', ' # #', ' ### #', ' #X #', ' #####']
进一步分裂:
>>> print [list(i) for i in s.split('\n')]
[['#', '#', '#', '#', '#'], [' ', '#', ' ', ' ', ' ', '#'], [' ', '#', '#', '#', ' ', '#'], [' ', '#', 'X', ' ', ' ', '#'], [' ', '#', '#', '#', '#', '#']]
获取您的清单。
答案 1 :(得分:0)
你可以简单地使用'eval'函数来评估存储在字符串中的任何python代码:
alist = eval(str1)
注意:但请注意,这本质上是不安全的(因为字符串可能包含恶意python代码)。但也许这不是你的担忧。