Python UnicodeEncodeError:编解码器无法编码字符

时间:2013-02-19 11:46:30

标签: python windows unicode python-unicode

我从我的python脚本(checkData.py)

创建了一个可执行文件

我正在尝试将字符串数据(包括区域设置字符)从另一个python脚本传递给此exe文件,如下所示:

...
dataPath = easygui.fileopenbox(msg, title)
p= subprocess.Popen(["checkData.exe",  dataPath], stdout = subprocess.PIPE )

当我从来电者脚本打印dataPath时,我可以看到区域设置字符。 当我试图打印传递给exe文件的字符串时,我收到了一个错误。

...
parser = ArgumentParser()
parser.add_argument("directory", action="store")
args = parser.parse_args()

print(args.directory)

这是我的错误消息:

C:\script\build\exe.win32-3.2>checkSi‌​mTestData.exe
  dataDirectoryPath= C:\samples\şample_test_data 
Traceback (most recent call last):
  File "c:\python32\lib\site-packages\cx_Freeze\initscripts\Console3.py",
    line 27, in <module> exec(code, m.__dict__)
  File "checkData.py",
    line 56, in <module>
  File "C:\Python\32-bit\3.2\lib\encodings\cp1254.py",
    line 19, in encode
UnicodeEncodeError: 'charmap' codec can't encode character '\xfe'
  in position 80: character maps to <undefined> – 

当我在命令下运行时:

sys.stdout.encoding

我得到了“cp1254”

你能帮我吗?

0 个答案:

没有答案