1

ある段階で次の行を持つコードがあります。

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

何か案は?

4

1 に答える 1

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))
于 2013-03-20T14:45:51.550 に答える