Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 22, 2012 22:19:55

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

Преобразование шестнадцатеричного числа в строку.

Здравствуйте. Существуют способы решить эту проблему без написания новых функций?

P. S. Причина проблемы - необходимо записать шестнадцатеричное число в файл. В файл пишутся только строковые переменные.

Отредактировано Antimonter (Окт. 22, 2012 22:22:01)

Офлайн

#2 Окт. 22, 2012 22:26:33

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

Преобразование шестнадцатеричного числа в строку.

open(path, “w”).write(hex(value))

Офлайн

#3 Окт. 23, 2012 00:21:45

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

Преобразование шестнадцатеричного числа в строку.

Antimonter
В файл пишутся только строковые переменные.
Так сделай их строковыми.
f.write(str(var))
#python 2
print >>f, var

Офлайн

#4 Окт. 23, 2012 03:33:19

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Преобразование шестнадцатеричного числа в строку.

Не понятно что требуется. В Python не существует “шестнадцатиричных” чисел. Кроме строк (str, unicode), есть целочисленные (int, long) и вещественные (float), ну такая хрень в отдельных моделях как numbers, decimal и fractions.
Можно целое преобразовать в строку, так что бы оно выглядело как hex, bin, oct и т.д., но это будет строка, а не число. Можно число преобразовать в байт (или в несколько), см. про `chr` и `struct`.
А что именно вам требуется и что вы имеете ввиду под “шестнадциричными числами” я, увы, не догоняю.

..bw



Офлайн

#5 Окт. 25, 2012 13:49:20

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

Преобразование шестнадцатеричного числа в строку.

Все верно, но не углубляясь в детали, я так понимаю что человек хочет записать в файл скажем 0xff как ‘0xff’, а не ‘255’

>>> hex(0xff)
'0xff'
>>> str(0xff)
'255'
>>>
зачем и почему это уже другой вопрос.

Офлайн

#6 Окт. 25, 2012 13:54:05

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Преобразование шестнадцатеричного числа в строку.

dimy44
Все верно, но не углубляясь в детали, я так понимаю что человек хочет записать в файл скажем 0xff как ‘0xff’, а не ‘255’

# -*- coding: utf-8 -*-
x=hex(0xff)
print str(x)
>>> 0xff
Или я чего то не понял?



Офлайн

#7 Окт. 25, 2012 14:27:25

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

Преобразование шестнадцатеричного числа в строку.

Это и так строка

>>> type(hex(0xff))
<type 'str'>
>>>
но, как я уже выше писал, не ‘255’ (str(0xff)), а ‘0xff’

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version