Невозможно декодировать utf8 при отправке строки из одного метода в другой метод в том же файле - PullRequest
0 голосов
/ 10 июня 2019

Когда я отправляю строку из одного метода другому в том же файле, я получаю следующую ошибку: UnicodeDecodeError: 'utf8' codec can't decode bytes in position 2-3: unexpected end of data

Когда я заменяю входное значение на строку во втором методе, функция работает. Когда я отправляю строку как переменную, это не так. Когда я помещаю цикл в method2, функция работает. Есть ли проблема кодирования для utf8 и unicode? Когда я отправляю список из method1 в method2, это работает. Когда я отправляю только строку, она не работает.

def compareTwoFiles(file1Path, file2Path):
    try:
        print(type(file2Path) #result is unicode
        with open(file2Path, "r") as json_file: # does not work
        #with open("./DEV3_export.json", "r") as json_file: # works 
            fileDict = json.load(json_file)
            task_list = fileDict['definition']['tasks']
            for i, task_details in enumerate(task_list):
                task_details = task_list[i]
                print(task_details)


    except IOError as e:
        logging.error(e.message)
    return

def compareFilesInTwoDirectories(serversNameList):
        catchedServerPath = './servers/' + file_name + '_export.json'
        newServersPath = './' + file_name + '_export.json'

        logging.warning(catchedServerPath)
        logging.warning(newServersPath)
        if os.stat(newServersPath).st_size > 0:
            compareTwoFiles(catchedServerPath, newServersPath)
    return 

print(compareFilesInTwoDirectories(serversNameList))

1 Ответ

0 голосов
/ 10 июня 2019

Исправлена ​​проблема с использованием io.open вместо open. with io.open(file2Path) as json_file: fileDict = json.load(json_file) task_list = fileDict['definition']['tasks'] for i, task_details in enumerate(task_list): task_details = task_list[i] print(task_details)

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