我有一个代码,它在一个阶段有以下一行:
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
有什么想法吗?
答案 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))