Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 9, 2011 17:14:27

math.beginer
От:
Зарегистрирован: 2011-03-28
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

write не может записать более 1024 строк

столкнулся со следующей, проблемой непонятного происхождения. Оператор write записывая в файл массив размером более 1024 строк, пишет только 1024 строки, остальные просто отбрасывая. Вот в этом коде проявляется проблема

#!/usr/bin/python
import sys
import scitools.filetable as ftable
...
b0n=b0[:,0:9]
fb0n=open(file_name+".raw",'w')
ftable.write(fb0n,b0n)
fb0n.close()
Как устранить проблему?



Офлайн

#2 Июнь 9, 2011 17:28:22

math.beginer
От:
Зарегистрирован: 2011-03-28
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

write не может записать более 1024 строк

удалось записать с numpy.savetxt(file_name+“.raw”,b0n).

но вопрос : где я неправильно использую ftable.write() остается?



Офлайн

#3 Июнь 9, 2011 17:54:38

ZAN
От:
Зарегистрирован: 2007-06-10
Сообщения: 403
Репутация: +  10  -
Профиль   Отправить e-mail  

write не может записать более 1024 строк

Однако…
Попробовал воспроизвести - у меня записывает и более 1024 строк..



Офлайн

#4 Июнь 9, 2011 22:56:56

knkd
От:
Зарегистрирован: 2009-06-14
Сообщения: 225
Репутация: +  0  -
Профиль   Отправить e-mail  

write не может записать более 1024 строк

Миллион строк - полёт нормальный.



Офлайн

#5 Июнь 10, 2011 13:20:34

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

write не может записать более 1024 строк

Офлайн

#6 Июнь 10, 2011 17:25:04

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

write не может записать более 1024 строк

А почему нет? Слайсинг внутри квадратных скобок — валидная операция.



Офлайн

#7 Июнь 11, 2011 18:26:40

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

write не может записать более 1024 строк

Андрей Светлов
А почему нет? Слайсинг внутри квадратных скобок — валидная операция.
Какой-то не обычный слайсинг - через запятую, двойной что ли?
Питон не компилирует и считает это туплом ( из-за запятой).

Можно рабочий пример?

Офлайн

#8 Июнь 11, 2011 23:37:24

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

write не может записать более 1024 строк

>>> class A(object):
... def __getitem__(self, a):
... print a
...
...
...
>>> a = A()
>>> a[1]
1
>>> a[1:1]
slice(1, 1, None)
>>> a[1:1, 2:2]
(slice(1, 1, None), slice(2, 2, None))
>>>
Что делать с tuple — вопрос к реализации класса A.



Офлайн

#9 Июнь 12, 2011 00:10:25

asv13
От:
Зарегистрирован: 2007-01-22
Сообщения: 130
Репутация: +  0  -
Профиль   Отправить e-mail  

write не может записать более 1024 строк

o7412369815963
Какой-то не обычный слайсинг - через запятую, двойной что ли?
Так это массив в numpy, там и больше запятых может быть.

>>> from numpy import *
>>> a = arange(5*5*5*3)
>>> a.shape = (5,5,5,3)
>>> a[4,:,1,2]
array([305, 320, 335, 350, 365])
>>> a[0,0,...]
array([[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11],
[12, 13, 14]])



Офлайн

#10 Июнь 13, 2011 16:20:37

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

write не может записать более 1024 строк

Спасибо за примеры, не знал, но догадывался. :)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version