Замените строку подстановочным знаком в файле .txt с помощью Python

Я по-прежнему новичок в написании сценариев и не уверен, что лучший способ выполнить то, что я пытаюсь сделать. Это будет первый скрипт python, который я пытаюсь написать. Обратите внимание, что я использую Python2.7 для этого.

Я хочу написать пакетный файл для пользователя с указанным аргументом. Этот аргумент будет дорогой. Этот путь будет меняться каждый день и использоваться для выполнения тестовых заданий. Я хочу вызвать его с помощью Nightly.bat "build path"

Вот что я хочу сделать:

1. Пакетный файл гарантирует, что путь существует с проверкой работоспособности.
2. Пакетный файл выполняет файл python с заданной переменной.
3. Файл Python находит строку в скрипте testrun с контуром сборки и заменяет этот путь данной переменной.
4.Batch-файл выполняет сценарий selenium testrun.

Вот код Python Code:

Содержимое test1.txt:

 blah This is a first string 

содержимое nightly.py:

 import sys import shutil import os import re tf = open('tmp', 'a+') string = "This is " with open('test1.txt') as f: for line in f.readlines(): string = re.sub ('This is .*', 'This is a second string', string) shutil.copy('test1.txt', 'tmp') tf.write(string) f.close() tf.close() 

после выполнения файла nightly.py это содержимое файла tmp:

 blah This is a first stringThis is a second String 

Мне нужно сделать это. This is a first string она заменяет. This is a second string

В конце файл tmp должен иметь следующее содержимое:

 blah This is a second string 

Спасибо за продолжение попытки.

 ***************************** * Updated for Kirbyfan64sos * ***************************** 

содержимое nightly.py:

 import sys import shutil import os tf = open('tmp', 'a+') with open('test1.txt') as f: for line in f.readlines(): if line == 'This is*': line = 'This is a second string' tf.write(line) f.close() tf.close() shutil.copy('tmp', 'test1.txt') os.remove('tmp') 

2 Solutions collect form web for “Замените строку подстановочным знаком в файле .txt с помощью Python”

Код должен выглядеть так:

 import sys tf = open('tmp', 'a+') with open('WP8974_AudioDecode.html') as f: for line in f.readlines() do: if line == '<td>\\frosty\*</td>': line = '<td>\\frosty\' + sys.argv[1] + '</td>' tf.write(line) f.close() shutil.copy('tmp', 'WP8974_AudioDecode.html') os.remove('tmp') 

Я наконец нашел ответ …

test1.txt перед выполнением Nightly.py:

 blah blah This is a first string blah blah 

Вкладки BTW меняют код с помощью блокнота ++

 import sys import os import re import shutil tf = open('tmp', 'a+') with open('test1.txt') as f: for line in f.readlines(): build = re.sub ('This is.*','This is a second string',line) tf.write(build) tf.close() f.close() shutil.copy('tmp', 'test1.txt') os.remove('tmp') 

test1.txt после выполнения Nightly.py:

 blah blah This is a second string blah blah 
  • Как установить GDB с поддержкой Python в Windows 7
  • Почему этот код ctypes не работает с Python 3.3, но будет работать с Python 2.7?
  • Python Interpreter не установлен после установки Aptana Studio3
  • Ошибка при импорте модуля cx_Oracle
  • Не удается перенаправить вывод, когда я запускаю скрипт Python в Windows, используя только имя скрипта
  • virtualenv на windows 7 возвращает AssertionError
  • Почему Python 2.7 установлен под root, в отличие от большинства программ сегодня?
  • Разбивка командной строки Python (для «scrapy»)
  •  
    Interesting Posts for Van-Lav

    У всех новых каталогов есть 777 разрешений

    Может ли порожденный процесс взаимодействовать с «основным» MPI-коммуникатором

    Как сделать класс подкласса matplotlib?

    Лучший способ получить название кнопки, которая называется событием?

    regex извлекает различные части строки в последовательном порядке

    python TypeError: __init __ () принимает ровно 4 аргумента (1 данный)

    Почему Ruby имеет Rails, в то время как у Python нет центральной структуры?

    Как получить самую старую задачу пользователя из API Asana?

    Как сделать автоматически заполненное и автоматически увеличивающееся поле в django admin

    Обнаружение и запись аудио в Python

    Передача нулей в хранимую процедуру в Python

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

    Форматировать все элементы списка

    Может ли scipy.stats идентифицировать и маскировать очевидные выбросы?

    Стандартный ответ 401 при использовании HTTP auth в колбе

    Python - лучший язык программирования в мире.