gpt4 book ai didi

python - 对 Groovy 脚本调用的 Python 脚本中的异常进行编码

转载 作者:太空宇宙 更新时间:2023-11-03 17:14:23 25 4
gpt4 key购买 nike

我正在尝试从 Groovy 脚本执行 Python 脚本:)

这是我执行命令的方式:

def cmd = """guessit -j "$tmp" """
String output = cmd.execute()

其中 $tmp 包含作为参数传递给 groovy 脚本的文件名。如果存在非 ASCII 字符(我在 $tmp 中有俄语字母),我会收到 Unicode 错误

'ascii' codec can't encode characters in position 11-16: ordinal not in range(128)

编码为UTF-8,已设置-Dfile.encoding=UTF-8

Python错误日志

command: guessit -j "Агенты А.Н.К.Л. (The Man from U.N.C.L.E.).2015.WEB-DLRip.mp4" 
Traceback (most recent call last):
File "D:\Soft\Python27\Scripts\guessit-script.py", line 9, in <module>
load_entry_point('guessit==2.0b3', 'console_scripts', 'guessit')()
File "build\bdist.win32\egg\guessit\__main__.py", line 150, in main
File "build\bdist.win32\egg\guessit\__main__.py", line 40, in guess_filename
UnicodeEncodeError: 'ascii' codec can't encode characters in position 11-16: ordinal not in range(128)

Python 源代码在这里 https://github.com/wackou/guessit/blob/2.x/guessit/main.py

如果我从 cmd 调用此命令 - 没有错误。操作系统是 Windows 7。非 Unicode 的语言是俄语

怎么了?

最佳答案

解决了!SET PYTHONIOENCODING=utf-8 设置 stdin、stdout 和 stderr 的 python 编码

关于python - 对 Groovy 脚本调用的 Python 脚本中的异常进行编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33777852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com