Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 18, 2012 13:18:22

pellon
Зарегистрирован: 2012-10-29
Сообщения: 98
Репутация: +  -1  -
Профиль   Отправить e-mail  

числовое значение не записывается

у меня такой код:

a=5
b=a+1
f=open('file.txt','w')
f.write(b)
input()

этот код не работает. я так понимаю из за того что у переменных “a” и “b” числовое значение.
как сделать так чтобы код работал?

Офлайн

#2 Ноя. 18, 2012 13:31:40

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

числовое значение не записывается

1. Интрукция write сохраняет только текстовые данные…
2. Необходимо закрывать файл после открытия…

Если Вы желаете сохранить не строковые переменные используйте модуль pickle или shelve…

import pickle
a = [12, 11]
# Сохранение
file_from = open("text.txt", "wb")
picle.dump(a, file_from)
file_from.close()
# Изъятие
file_to = open("text.txt", "rb")
c = pickle.load(file_to)
file_to.close()
print c
raw_input("Please Enter to close")



Отредактировано 4kpt (Ноя. 18, 2012 13:32:53)

Офлайн

#3 Ноя. 18, 2012 13:33:33

pellon
Зарегистрирован: 2012-10-29
Сообщения: 98
Репутация: +  -1  -
Профиль   Отправить e-mail  

числовое значение не записывается

спасибо большое!

Офлайн

#4 Ноя. 18, 2012 13:35:56

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

числовое значение не записывается

Если нужно хранить структурированные данные типа ключ: значение лучше подходит модуль shelve… Про него можно прочитать в книге Р.С. Сузи…



Офлайн

#5 Ноя. 18, 2012 13:37:24

pellon
Зарегистрирован: 2012-10-29
Сообщения: 98
Репутация: +  -1  -
Профиль   Отправить e-mail  

числовое значение не записывается

хорошо

Офлайн

#6 Ноя. 18, 2012 13:37:47

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

числовое значение не записывается

Если не найдеш книгу, отпишись. Я приведу пример…



Офлайн

#7 Ноя. 18, 2012 15:34:59

pellon
Зарегистрирован: 2012-10-29
Сообщения: 98
Репутация: +  -1  -
Профиль   Отправить e-mail  

числовое значение не записывается

4kpt, я тут поискал про shelve. чот ничо путного не нашёл…
может приведёшь примерчик маленький?

Офлайн

#8 Ноя. 18, 2012 15:41:00

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

числовое значение не записывается

Плохо искал, ну ладно…
Привожу пример из книги:

import shelve
data = ("abc", 12)
key = "key"
filename = "polka.dat"
d = shelve.open(filename) # открытие полки
d[key] = data                   # сохранить данные под ключом
data = d[key]                   # загрузить данные по ключу
len(d)                              # получить количество объектов в полке
d.sync()                           # запись изменений в БД на диске
del d[key]                        # удалить ключ и значение
flag = d.has_key(key)       # проверка наличие ключа
lst = d.keys()                   # список всех ключей
d.close()                          # закрытие полки



Офлайн

#9 Ноя. 18, 2012 15:45:50

pellon
Зарегистрирован: 2012-10-29
Сообщения: 98
Репутация: +  -1  -
Профиль   Отправить e-mail  

числовое значение не записывается

да.. искать настроения нет. в компе во всё переигра всё пересмотрел и ещё на над записью числа в файл застрял.
за пример спасибо.

Офлайн

#10 Ноя. 19, 2012 04:52:45

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9746
Репутация: +  843  -
Профиль   Отправить e-mail  

числовое значение не записывается

pellon
f.write(b)
print(b, file=f)
в третьем

print >>f, b
во втором



Отредактировано py.user.next (Ноя. 19, 2012 04:52:58)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version