Текстовый файл, отредактированный с помощью python, не может быть открыт cbecc-res - PullRequest
0 голосов
/ 05 октября 2018

Ниже приведены фрагменты кода, который я написал для изменения текстового файла в python.текстовый файл должен быть открыт с помощью программного обеспечения для анализа cbecc-res.split_cbecc и join_cbecc считывают и записывают текстовый файл соответственно.run_changes берет текст и словарь изменений и применяет изменения к тексту.

'''
    split_cbecc, join_cbecc

    input:
        path - location of a text file to be modified
    output:
        filedata - text file saved as a variable
'''

def split_cbecc(path):
    with open(path, 'r', encoding='utf-8') as file:
        filedata = file.read()

    filedata = filedata.split('..')
    for i in range(len(filedata)):
        filedata[i] = filedata[i].strip()

    return filedata

def join_cbecc(path, filedata):
    with open(path, 'w+', encoding='utf-8') as file:
        file.write("\n   ..\n\n".join(filedata))

'''
    run_changes

    input:
      filedata - a text file saved in a variable
      changed_objects - a dictionary of changes to make
    output:
      filedata

'''

def run_changes(filedata, changed_objects):
    for i in range(len(filedata)):
        t_data = filedata[i].split('\n')
        for j in range(len(changed_objects)):
            if changed_objects[j].name in t_data[0]:
                for k in range(len(t_data)):
                    for key in iter(changed_objects[j].attrib()):
                        if key in t_data[k]:
                            t_data[k] = "   "+changed_objects[j].attrib()[key]
        filedata[i] = "\n".join(t_data)

    return filedata

После запуска кода файл изменяется, как и ожидалось, но cbecc-res зависает при попытке открыть его (резервная копия исходного файла открывается просто отлично).в диспетчере задач есть процесс cbecc-res, но он указан в фоновых процессах.ничего не выходит на первый план.

При сравнении измененного файла с исходной резервной копией нет никаких отличий, кроме внесенных мною изменений.

Если я использую vim, чтобы открыть вывод своей программы, а затем сохранить его, cbecc-res откроет его просто отлично.опять текст файла остается без изменений.Права доступа к файлам для моих измененных и резервных файлов выглядят одинаково в диалоговом окне «Свойства файла».

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

Я понятия не имею, где искать потенциальные причины этих проблем.Может быть, вы можете помочь.

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