Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 10.08.2021
Сообщений: 3

Как записать в файл произвольный набор данных?

10.08.2021, 14:35. Показов 1144. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, я полный нуб. Во всех руководствах, которые я нашёл, написано, что способов записи (чтения) существует два - текстовый и бинарный. При попытке записи текстовым способом код:

file = open("example.txt", "w")
file.write(str(0))
file.close()

Записывает в файл:

30

То есть то, что соответствует нулю в кодовой таблице. Попытка записать число без конвертации, естественно, даёт ошибку.
При попытке записи бинарно:

import pickle

file = open("example.txt", "wb")
pickle.dump(0, file)
file.close

Записывает в файл:

80 03 4B 00 2E

То есть вообще что-то левое. Попытка записать "как есть", то есть без "пиклей" выдаёт ошибку - требует конвертировать в байты.

Собственно, вопрос: какими средствами в пайтоне можно организовать запись "как есть", то есть чтобы попытка записать int давала в файле, собственно, int в том же виде, в каком он лежит в оперативке, то есть:

00 00 00 00

Ну и, соответственно, прочитать файл с такой записью как int со значением 0?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.08.2021, 14:35
Ответы с готовыми решениями:

Создать файл и записать в него набор данных
Создать файл и записать в него: a) 7 целых чисел б) 4 вещественных чисел в) 5 слов. Записываемые числа и слова вводятся с...

Как записать набор клавиатуры в файл
Привет, подскажите как можно сделать так что бы записавать каждое нажатие кнопки пользователя в текстовый файл

Как в файл записать набор рандомных чисел
Вообщем взялся помогать 3 задачки, на С++ спокойной решил, на Си столкнулся с трудностями т.к. fstream здесь не прокатывает) Не понимаю...

1
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
10.08.2021, 15:10
Цитата Сообщение от Protium Посмотреть сообщение
какими средствами в пайтоне можно организовать запись "как есть",
Функция open в Python точно такая же как в Си. То есть просто обертка над ней.

Цитата Сообщение от Protium Посмотреть сообщение
int в том же виде, в каком он лежит в оперативке, то есть:
00 00 00 00
Это всего лишь одна из репрезентаций. При чем тут "как есть"?
Если тебе ноль нужен не как строка символ, а как байты - запиши байтовое представление ноля в бинарном режиме.

Python
1
2
3
4
5
6
7
8
9
10
11
>>> (0).to_bytes(4, byteorder='big')
b'\x00\x00\x00\x00'
>>> bytes([0])  # для чисел до 255
b'\x00'
>>> 
>>> (1024).to_bytes(4, byteorder='big')
b'\x00\x00\x04\x00'
>>> import struct
>>> struct.pack(">I", 1024)
b'\x00\x00\x04\x00'
>>>
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.08.2021, 15:10
Помогаю со студенческими работами здесь

Как заставить бота принимать произвольный набор символов от пользователя?
Доброго времени суток, уважаемые форумчане! Передо мной стоит задача заставить бота принимать от пользователя сообщение, которое состояло...

Файл: Как записать построчно массив из базы данных в файл?
всем привет! $ch = mysqli_query($dblink, "SELECT * FROM `sceneries`") or die(mysql_error()); $list = array(); while ($list =...

Произвольный набор букв
Дан произвольный набор из строчных русских букв. Подсчитать в нем кол-во гласных и согласных букв. Заранее спасибо и +

Обновить произвольный набор байт
Здравствуйте. Подскажите пожалуйста как можно сделать интерфейс с методом который будет обновлять произвольный набор байт типа HRESULT...

Клиент посылает серверу произвольный набор символов
Здравствуйте, нужна помощь в задании: Клиент посылает серверу произвольный набор символов, сервер замещает каждый четвертый символ на «%».


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru