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

Какой самый короткий способ открыть файл найти нужное слово и заметить его и записать изменения?

05.02.2020, 20:27. Показов 1107. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хотел сделать простую операцию но из нехватки знаний и опыта что-то не особо получается.
Мне нужно было открыть файл, найти в нем слово и заменить его своим.
Как сделать это очень долгим путем я примерно знаю, но погуглив узнал что работать с файлами лучше через with, еще узнал что есть такой режим доступа как "r+ Открывает файл для чтения и записи."(ну или w+), такой кашей в голове у меня вышло только:

Python
1
2
3
4
5
6
7
with open('./packages/editUser1091.txt', 'r+') as pack:
    r = pack.read()
    old_email = re.search(r'name=\"Email\"\n\n(.*@.*)', r).group(1)
    # print(old_email)
    new_pack = re.sub(fr'{old_email}', 'FFFQQQQQQ@QQQQQQQQ.hh', r)
    print(new_pack, file=pack)
    # pack.write(new_pack)
Подскажите как мне сделать желаемую операцию по-человечески?
(и, если не сложно, поясните как r+ работает)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.02.2020, 20:27
Ответы с готовыми решениями:

самый короткий способ открыть файл
итак, задача: открыть файл input.txt считать с него цифру и вывести в output.txt. Нужен самый короткий код!:rtfm: #include...

Открыть файл, найти нужное слово и заменить его на другое
надо открыть файл найти нужное слово и заменить его на другое. пробывал делать получается что-то типа такого: #include <conio.h> ...

найти в каталоге самый короткий файл и удалить его
найти в каталоге самый короткий файл и удалить его

6
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
05.02.2020, 20:38
sergei111111111, должно работать так
Python
1
2
3
4
5
6
def zapis(my_filename, fext2):
    with open(my_filename + '.' + fext2, 'w', encoding='utf-8') as fp:
        old_email = re.search(r'name=\"Email\"\n\n(.*@.*)', r).group(1)
        # print(old_email)
        new_pack = re.sub(fr'{old_email}', 'FFFQQQQQQ@QQQQQQQQ.hh', r)
        print(new_pack, file=fp, sep="\n")
r+ - Открывает файл для чтения и записи. Указатель стоит в начале файла.
0
0 / 0 / 0
Регистрация: 15.11.2019
Сообщений: 15
06.02.2020, 08:56  [ТС]
Если честно вообще не вкурил в "fext2". Вот то место где указывается путь до файла, что там через точку должно быть написано? И вот из примера видимо перекочевала "r" в 3й и 5й строке, eё на fp.read() лучше заменить?
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
06.02.2020, 09:04
Цитата Сообщение от sergei111111111 Посмотреть сообщение
Если честно вообще не вкурил в "fext2"
Расширение файла, наверное. Проще его сразу в my_filename указать.
Цитата Сообщение от sergei111111111 Посмотреть сообщение
примера видимо перекочевала "r" в 3й и 5й строке, eё на fp.read() лучше заменить?
Да.
0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
06.02.2020, 09:09
Добавлено через 1 минуту
ioprst, fext- мнемоник от file extention
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
06.02.2020, 09:10
Dax, а я что написал?
Зачем его отдельно передавать?
0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
06.02.2020, 09:21
ioprst, честно говоря, поспешил, взяв от всего кода,самую нужную ТС функцию))

Добавлено через 2 минуты
Полный код
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
def zapis(my_filename, fext2):
    with open(my_filename + '.' + fext2, 'w', encoding='utf-8') as fp:
        old_email = re.search(r'name=\"Email\"\n\n(.*@.*)', r).group(1)
        # print(old_email)
        new_pack = re.sub(fr'{old_email}', 'FFFQQQQQQ@QQQQQQQQ.hh', r)
        print(new_pack, file=fp, sep="\n")
 
def reader(my_filename, fext2):
    with open(my_filename + '.' + fext2, 'r', encoding='utf-8') as fp:
        data = fp.readlines()
    print(data)
 
 
if __name__ == '__main__':
    my_filename = None
    fex2 = None
    zapis(my_filename='проба', fext2='txt')
    reader(my_filename='проба', fext2='txt')
Добавлено через 4 минуты
sergei111111111, набирайте\копируйте сюда код()в тегах, не картинки
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.02.2020, 09:21
Помогаю со студенческими работами здесь

Нужен самый простой способ в VB с ZIP-файл открыть.
Привет всем! Помогите как самым простым способом ZIP-файл раскрыть. Заранее всем ко откликнется огромное спасибо.

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

В двумерном массиве найти самый длинный и самый короткий элемент
В двумерном массиве найти самый длинный и самый короткий элемент

В двумерном массиве найти самый длинный и самый короткий элемент
В двумерном массиве найти самый длинный и самый короткий элемент

Дан символьный файл f. Найти и записать в файл g самое длинное слово файла f, снабдив его комментарием
#include <iostream> #include <vector> #include <string> #include <fstream> using namespace std; vector<string> read(const char...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в КА2. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа в КА2. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru