Найти - Пользователи
Полная версия: Как заменить слово в файле?
Начало » Python для новичков » Как заменить слово в файле?
1
ViRuss08
Есть текстовый файл “C:\Users\Юрий\Desktop\eHot\mineflayer-master\index.js”, в нем надо найти слово “host:”, включить программку, и вписать в консоль, то, что
конкретно надо заменить через пробел после слова “host:”(ну там стоит айпишник, его надо заменить на другой). Потом сохранить файл и запустить другой файл “C:\Users\Юрий\Desktop\eHot\mineflayer-master\start.bat”
py.user.next
Изучи sed. wiki. sed
Это программа, которой больше сорока лет, которая как раз для замен внутри файла сделана. Плюс она ещё является программой-фильтром, то есть ей можно данные подавать без файла и она на выходе будет выдавать изменённые данные тоже без файла. То есть через неё можно пропускать только данные, как-то преобразуя их. Кстати, эта программа была использована в первом сетевом вирусе для конструирования заголовков в протоколе.
wiki. вирус
Исходники вируса
Исходник с sed'ом в заголовке для sendmail

А в питоне может оказаться не всё так просто, как тебе кажется.
Например
ViRuss08
Есть текстовый файл “C:\Users\Юрий\Desktop\eHot\mineflayer-master\index.js”, в нем надо найти слово “host:”
А если оно окажется в комментарии? То есть нужно уже “понимать”, в комментарии ты его нашёл или не в комментарии, а в рабочем коде. Соответственно, комментарий не трогать, а рабочий код заменять только. И это нужно как-то определить прямо на ходу.

Или вот это
ViRuss08
конкретно надо заменить через пробел после слова “host:”(ну там стоит айпишник, его надо заменить на другой). Потом сохранить файл и запустить другой файл “C:\Users\Юрий\Desktop\eHot\mineflayer-master\start.bat”
Тут явно нужен транслятор, который из файла будет эти айпишники брать и подставлять их. Руками вводить что-то - последнее дело.

Так что это нужно сделать в таком виде:
1) Ты руками вводишь айпишник и он сохраняется в файл сам по себе. В файле только айпишник и больше там ничего нет.
2) Когда файл с айпишником сохранился, запускается твой скрипт, который на вход (через аргументы командной строки) принимает два файла: один файл - файл с айпишником; другой файл - это файл любое_имя.js. И он их принимает и по айпишнику из первого файла и по содержимому из второго файла создаёт новый файл.
3) Когда новый файл создан, он запускается уже.

Получится так. Ты запускаешь скрипт-шапку, который сначала просит тебя ввести айпишник руками. Ты его вводишь, и скрипт шапка сохраняет айпишник в его файл. Потом скрипт-шапка запускает скрипт генерации нового файла и подаёт ему в качестве аргументов имя файла с айпишником и имя файла с кодом js. Скрипт генерации нового файла принимает эти имена файлов, открывает эти файлы и делает из них общий файл и сохраняет его как out.js, например (имя сохранения для нового файла тоже можно через аргумент скрипта подавать). После работы скрипта генерации нового файла скрипт-шапка запускает новый файл на выполнение.

И потом, когда это всё будет работать правильно, ты эту систему скриптов сможешь поменять так, чтобы не нужно было руками вводить эти айпишники. Ты их будешь просто в один файл записывать на разных строках, а потом запускать скрипт, который будет брать один айпишник из списка и сохранять его в файл, а потом запускать эту всю систему, которую ты написал ранее, так, как будто ты руками этот айпишник ввёл.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB