Блокноты Jupyter - как перемещать символы utf-8 между скриптами? - PullRequest
0 голосов
/ 27 октября 2018

Я работаю со скриптами в ноутбуках Jupyter.Для ясности кода я хотел бы передать некоторые определения во второй скрипт.Но в определениях есть умлауте, ü, ä, ö и другие.Определения выглядят следующим образом:

an_outsourced_dict = {'Hello': 'Hallo', 'Door': 'Tür'}

После проблем с «импортом» второго скрипта с помощью importlib я сейчас просто запускаю

%run myotherscript.ipynb

в первом скрипте и имею доступк тому, что определено в myotherscript.ipynb впоследствии.

Проблема: Содержимое an_outsourced_dict в вызывающем скрипте равно {'Door': 'Tür', 'Hello': 'Hallo'}, а an_outsourced_dict['Door'] == 'Tür' возвращает False.

Кроме того, когда я добавляю print (an_outsourced_dict) в mysecondscript.ipynb, он также печатает 'Tür' при вызове через% run.Но определение и печать его из основного сценария дает 'Tür'.

(Как) Это можно решить?А пока я просто помещу все в один скрипт.

Этот кажется связанным, но моя проблема не в записи чего-либо в файл.


Дополнительноинформация:

Python версии 3.5, пытается получить версию ipython, как описано здесь также выдает ошибку кодирования :) и я на Windows (8.1)

1 Ответ

0 голосов
/ 27 октября 2018

Я сталкивался с этой проблемой раньше.Вы можете попробовать выгрузить свой словарь в файл .json, например, так:

with open('output.json', 'w', encoding='utf-8') as output_file:
    json.dump(your_dictionary, output_file, ensure_ascii=False, indent=4)
    lables_file.write("\n")

ensure_ascii=False убедится, что выходные символы в файл .json соответствуют ожидаемым

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