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

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

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

Author24 — интернет-сервис помощи студентам
Хотел сделать простую операцию но из нехватки знаний и опыта что-то не особо получается.
Мне нужно было открыть файл, найти в нем слово и заменить его своим.
Как сделать это очень долгим путем я примерно знаю, но погуглив узнал что работать с файлами лучше через 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
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.02.2020, 20:27
Ответы с готовыми решениями:

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

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

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

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

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

6
Модератор
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
05.02.2020, 20:38 2
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  [ТС] 3
Если честно вообще не вкурил в "fext2". Вот то место где указывается путь до файла, что там через точку должно быть написано? И вот из примера видимо перекочевала "r" в 3й и 5й строке, eё на fp.read() лучше заменить?
Какой самый короткий способ открыть файл найти нужное слово и заметить его и записать изменения?
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
06.02.2020, 09:04 4
Цитата Сообщение от 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 5
Добавлено через 1 минуту
ioprst, fext- мнемоник от file extention
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
06.02.2020, 09:10 6
Dax, а я что написал?
Зачем его отдельно передавать?
0
Модератор
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
06.02.2020, 09:21 7
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
06.02.2020, 09:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.02.2020, 09:21
Помогаю со студенческими работами здесь

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

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

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

Найти самый короткий и самый длинный пути в графе
Здравствуйте! Мне необходимо выполнить следующую задачу: представить ориентированный взвешенный...

Найти самый длинный и самый короткий отрезок
Данная множество точек координатной плоскости в виде двух одномерных массивов Х и У. Найти самый...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru