从 python 中的文件转换为列表列表

Conversion to list of list from a file in python

我正在尝试通过 运行 C 可执行文件从 python 代码执行 C 文件。下面是我的代码:

import subprocess
import sys

dataset = sys.argv[1]
def func():
    subprocess.run(['/home/dev/exec_file', dataset, 'outfile'])
    f_result = []
    f = open('outfile', "r")
    content = f. read()
    f_result.append(content)
    print(f_result)
    #print(content.rstrip('\n'))
    return f_result

这里如果我简单地写 print(content.rstrip('\n')) 那么它给出的输出如下:

*,*,1,*,0
*,*,2,2,1
*,*,*,3,1
*,*,*,4,2
*,*,3,*,2

现在我要return列表列表。我的意思是它看起来像:

[['*', '*', '1', '*', '0'], ['*', '*', '2', '2', '1'], ['*', '*', '*', '3', '1'], ['*', '*', '*', '4', '2'], ['*', '*', '3', '*', '2']]

在我上面的方法中,print(f_result) 给出的输出如下:['*,*,1,*,0\n*,*,2,2,1\n*,*,*,3,1\n*,*,*,4,2\n*,*,3,*,2\n']

我该怎么做,return 从这个列表列表?请帮忙。

使用列表理解和str.split:

content = '*,*,1,*,0\n*,*,2,2,1\n*,*,*,3,1\n*,*,*,4,2\n*,*,3,*,2\n'

[l.split(',') for l in content.rstrip('\n').split('\n')]

输出:

[['*', '*', '1', '*', '0'],
 ['*', '*', '2', '2', '1'],
 ['*', '*', '*', '3', '1'],
 ['*', '*', '*', '4', '2'],
 ['*', '*', '3', '*', '2']]