Когда я отправляю строку из одного метода другому в том же файле, я получаю следующую ошибку:
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))