在python中为列表创建第二行,并将列表写入txt文件

时间:2013-03-20 14:45:06

标签: python list io row

我有一个代码,它在一个阶段有以下一行:

n_brace.extend([numEL, valueLX[j],valueB[jj], el[2]])

这一行包含在for循环中,因此它产生例如:

n_brace:
[367, '62', '141', '142', 369, '124', '156', '155', 379, '344', '266', '265', 381, '313', '251', '252']

但是我想改为:

n_brace:
[[367, '62', '141', '142'], [369, '124', '156', '155'], [379, '344', '266', '265'], [381, '313', '251', '252']]

在程序结束时,我打开一个文件,并希望将n_brace写入其中:

fbrace = open("C:/Abaqus_JOBS/brace.txt", 'w')
fbrace.write(n_brace)

我希望结果如下:

367, 62, 141, 142
369, 124, 156, 155
379, 344, 266, 265
381, 313, 251, 252

但是我收到以下错误:

TypeError: expected a character buffer object

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

extend()更改为append()

n_brace.append([numEL, valueLX[j],valueB[jj], el[2]])

至于写作(假设是Python 2.x):

with open("C:/Abaqus_JOBS/brace.txt", 'w') as fbrace:
    for row in n_brace:
        print >>fbrace, ', '.join(map(str, row))