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

Чтение и запись в один файл

28.10.2019, 10:52. Показов 5067. Ответов 47

Студворк — интернет-сервис помощи студентам
Текстовый файл
Телевизор Sony 20 18000
Стиральная машина Bosch 10 11000
Холодильник Indesit 10 500000
Стиральная машина Bosch 10 11000
Стиральная машина Bosch 10 11000
Стиральная машина Bosch 10 11000
Стиральная машина Bosch 10 11000

Есть один текстовый файл. В нем обозначены техника, кол-во и стоимость одной техники. В четвертый столбец надо ввести произведение стоимости и кол-ва.
С файлами в питоне работать не довелось к сожалению.
Спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.10.2019, 10:52
Ответы с готовыми решениями:

Чтение,шифрование и запись в один файл
Пишу программу шифрующую (CryptoAPI) файл,буфер - 1 килобайт,требуется сделать так чтобы чтение и запись происходили из/в один и тот же...

Чтение и запись в один и тот же файл с CreateFile
Добрый день. необходимо, чтобы можно было открыть файл, произвести из него чтение, и в процессе считывания при необходимости вносить...

FileStream или чтение и запись в один и тот же файл
Из темы уже можно было понять суть проблемы - есть файл и например из центра вырезается кусок путем накладывания на него данных что стояли...

47
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
28.10.2019, 12:43
Студворк — интернет-сервис помощи студентам
Я сделал так:

Python
1
2
3
4
5
with open('input.txt', 'r', encoding='cp1251') as f:
    for line in f.read().splitlines():
        text = line.rsplit(' ',2)
        name,kol,cena = text[0], text[1], text[2]
        prod = int(kol) * int(cena)
осталось перезаписать

Добавлено через 3 минуты
Я понимаю, что криво, но для себя потренироваться.
1
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
28.10.2019, 12:44
Да норм.
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
28.10.2019, 12:46
На это я потратил 10 минут, а вот дальше, что-то я не пойму, как перезаписать то. Всё добавляет в конец последней строки, оно и понятно почему. Надо непросредственно в самом цикле сразу же и записывать, но вот что-то у меня не выходит
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
28.10.2019, 12:47
Для начала нужно закрыть файл и открыть заново на запись
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
28.10.2019, 12:51
Рыжий Лис, да, я пробовал, всё равно что-то не выходит, ладно, буду пробовать.
0
5037 / 1064 / 149
Регистрация: 29.01.2013
Сообщений: 6,212
28.10.2019, 12:57
Damenikx, возможно следует обратить внимание на модификаторы доступа к файлу)
А ещё чтение и запись лучше вынести в отдельную функцию\метод, что бы данные читались, файл закрывался, данные писались, файл закрывался. Сразу же, а не спустя бизнес-логику.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
28.10.2019, 13:10
Рабочий пример перезаписи файла:
Python
1
2
3
4
5
6
7
8
9
10
11
filename = 'input.txt'
 
with open(filename, 'r') as f:
    text = f.read()
 
text2 = '''\
text3
text'''
 
with open(filename, 'w') as f:
    f.write(text2)
Добавлено через 3 минуты
Хотя удобнее писать в файл так:
Python
1
2
3
with open(filename, 'w') as f:
    for i in '123', '234':
        print(i, file=f)
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
28.10.2019, 13:53
Рыжий Лис, Alli_Lupin, это всё понятненько, только вот записывает всё в одну строку к последней строке. Я всё это пробовал, честное пионерское!

Добавлено через 2 минуты
Рыжий Лис, сделал, по-другому, записывает только одну строку
0
5037 / 1064 / 149
Регистрация: 29.01.2013
Сообщений: 6,212
28.10.2019, 13:55
Damenikx, символ перевода строки?
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
28.10.2019, 13:58
Alli_Lupin, вот я про это сейчас читаю.
Я знаю, что символ переноса строки "\n", сейчас думаю, как его прикрутить
0
5037 / 1064 / 149
Регистрация: 29.01.2013
Сообщений: 6,212
28.10.2019, 14:01
Damenikx, обычно используют в паре символы \n\r. Не помню, что из них что. Но с этим сочетанием у меня ассоциируются словосочетания "перевод строки" и "возврат каретки".
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
28.10.2019, 14:19
Alli_Lupin, получилось, но теперь первая строка сдвинута влево примерно на 3 монитора
0
5037 / 1064 / 149
Регистрация: 29.01.2013
Сообщений: 6,212
28.10.2019, 14:24
Damenikx, отладчик - ваш лучший друг)
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
28.10.2019, 14:33
Alli_Lupin, да, я тут уже пытаюсь, как могу и чот не то, сейчас пожалуй заново начну
0
5037 / 1064 / 149
Регистрация: 29.01.2013
Сообщений: 6,212
28.10.2019, 14:36
Damenikx, процесс хороший, интересный) Мне нравится)
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
28.10.2019, 14:45
Цитата Сообщение от Alli_Lupin Посмотреть сообщение
обычно используют в паре символы \n\r. Не помню, что из них что.
\n - новая строка
\r - возврат катерки

Писать файл можно по-разному.
A string containing "\r\n" for non-Unix platforms, or a string containing "\n" for Unix platforms.
Допустим, если записать в файл только \n, но не все windows-редакторы смогут корректно отобразить файл.

Добавлено через 1 минуту
. . .
New line depends on your OS:

DOS & Windows: \r\n 0D0A (hex), 13,10 (decimal)
Unix & Mac OS X: \n, 0A, 10
Macintosh (OS 9): \r, 0D, 13
1
5037 / 1064 / 149
Регистрация: 29.01.2013
Сообщений: 6,212
28.10.2019, 14:58
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
\n - новая строка
\r - возврат катерки
точно, благодарю.
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
28.10.2019, 15:54
Я сдаюсь. У меня не получается и я не могу допетрить.
0
28.10.2019, 15:59

Не по теме:

Damenikx, создайте новую темы и мы посмотрим. Ведь одна тема - один вопрос.

0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
28.10.2019, 16:03
Лучший ответ Сообщение было отмечено Рыжий Лис как решение

Решение

УРААА!!! ПОЛУЧИЛОСЬ!!!

Python
1
2
3
4
5
6
7
8
9
with open('input.txt', 'r', encoding='utf-8') as f:
    full_file = f.read().splitlines()
    with open('input.txt', 'w', encoding='utf-8') as s:
        for text in full_file:
            text = text.strip()
            name, kol, cena = text.rsplit(' ', 2)
            slog = int(kol) * int(cena)
            all = (f'{text} {slog}')
            print(all,file=s)
Добавлено через 46 секунд

Не по теме:

Alli_Lupin, так а вопрос так и не был решён, по поводу файлов, зачем новая тема?



Добавлено через 1 минуту
Сразу прошу простить за именование переменных, просто у меня уже стул горел. Я хотел всё бросить, поэтому называл всё со злости.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.10.2019, 16:03
Помогаю со студенческими работами здесь

Чтение и запись данных из множества ListBox в один файл.
Требуется помощь.Нужно сохранить Listbox1 и Listbox2 в txt,в гугле ничего такого не нашел,на вашем форуме есть,но только с Edit и Memo. ...

Запись и чтение объектов разных классов в один файл
Здравствуйте. Изучаю С++ по Лафоре. Дошёл до места, где объясняется, как записывать объекты разных классов в один бинарник. У Лафоре,...

Открыть текстовый файл в необходимом режиме (на чтение, на чтение и запись, на добавление)
Открыть текстовый файл в необходимом режиме (на чтение, на чтение и запись, на добавление). (В файле должно быть не менее 30 строк)....

Чтение файла, чтение названия папки где находится файл, запись данных на PHP
Допустим у нас есть структура с папками типа Large -> Vehicles -> Firetruck_0 В этой папке лежит файл формата .dat Что нужно сделать? ...

Ввод с клавиатуры и запись в файл, чтение из файла и запись в массив, вывод из массива на экран
1.Ввод с клавиатуры и запись в файл, чтение из файла и запись в массив, вывод из массива на экран 2.Ввод с клавиатуры и запись в массив,...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru