Чтение и обновление значения переменной в файле - PullRequest
0 голосов
/ 30 апреля 2020

Я использую Python 3.7 для чтения содержимого файла и обновления значения переменной BUILD_ID, увеличивая его на единицу.

Это прекрасно работает, если я использую только одну строку в файле, который содержит только BUILD_ID (пока я пробовал это с функцией re.sub ()), но для того, чтобы использовать его для файла, содержащего несколько строк, он не заменяет, а добавляет в него обновленную строку в конце файла или в последней строке. Или, если я использую build_file.seek (0), он заменяет строку в первой строке.

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

Например, файл сакэ имеет следующее содержимое:

MINOR_VERSION

MAJOR_VERSION

BUILD_ID = 1

TEST

Код приведен ниже:

def update_build(file_name):
        with open(file_name,'r+') as build_file:
                    text= build_file.readlines()
                    for line in text:
                                print(line)
                                if(line.find('BUILD_ID')>-1):
                                            #print('BUILD_ID found')
                                            variable_name,variable_value=line.split('=')  #separating name and value
                                            value_int= int(variable_value)
                                            value_int=value_int+1
                                            value_str= str(value_int)
                                            updated_build= variable_name+'='+value_str
                                            replaced_text= line.replace(line,updated_build)
                                            print(updated_build)

                                            build_file.write(replaced_text)
                                            break


        return
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...