python Функция write () автоматически создает новую строку в файле - PullRequest
1 голос
/ 02 апреля 2020

Я использую write () для печати массивов в файл, который будет прочитан другим скриптом, например:

file2write=open("arrays.txt",'w')
file2write.write(str(array1)+'\n')
file2write.write(str(array2))
file2write.close()

Я хочу, чтобы каждый массив, занимающий только одну строку, был прочитан другим Сценарий, однако я получаю это, когда массив становится больше:

1 [ 0.   0.   0.  -0.4  0.6  0.   0.   0.   0.  -0.4  0.6 -0.4  0.6  0.2
2   0. ]
3 [0.1 0.3 0.3 0.1 0.1 0.5 0.5 0.7 0.7 0.3 0.3 0.5 0.5 0.7 0.7]

Как получить это, несмотря на размер массива:

1 [ 0.   0.   0.  -0.4  0.6  0.   0.   0.   0.  -0.4  0.6 -0.4  0.6  0.2   0. ]
2 [0.1 0.3 0.3 0.1 0.1 0.5 0.5 0.7 0.7 0.3 0.3 0.5 0.5 0.7 0.7]

1 Ответ

0 голосов
/ 02 апреля 2020

str(array1) разбивает массив numpy на несколько строк.

Один из способов избежать этого - использовать str(list(array1))

Другой способ - использовать numpy.array2string(array1, max_line_width=1000), или что-нибудь разумное ширины линии.

...