如何使用非英语语言环境将参数传递给python脚本

时间:2018-11-26 16:34:49

标签: python jupyter-notebook

场景:

  • 启动远程jupyter笔记本
  • 使用英语和非英语(西里尔字母)语言环境构建字符串string。例如,string="this is аргумент"
  • 从jupyter单元中启动python脚本,并将string作为参数传递:
    !python script --arg $string

问题在编码中:

  • 命令!python script --arg $string本身不会启动脚本-只是在无限执行阶段“死亡”(没有异常,没有错误。我想它有bash错误,不会传输到jupyter中,但我无法检查,因为不允许在远程控制台中输入西里尔字符)

  • 解决了第一个问题,传递了编码字符串而不是原始字符串:
    string_encoded = string.encode(encoding='utf-8') !python script --arg $string_encoded
    这行得通,但需要对string 中的script进行解码,这对我来说很麻烦-我无法解码字节的字符串表示形式,如下所示:< br /> bthis is \xd0\xb0\xd1\x80\xd0\xb3\xd1\x83\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x82

上下文:

  • echo $LC_CTYPE: UTF-8
  • sys.default_encoding(): utf-8

0 个答案:

没有答案