【发布时间】:2020-05-23 07:57:45
【问题描述】:
我正在尝试使用os.system() 从我的python 脚本中执行一个.vbs 脚本。
是这样的
# -*-coding:utf-8 -*-
import os
os.system('cscript myVbsScript.vbs -i "This is a test" "1000" "æøå"')
“æøå”未正确传递。
使用时:
os.system(u'cscript myVbsScript.vbs -i "This is a test" "1000" "æøå"')
我得到错误:
os.system(u'cscript myVbsScript.vbs 10000 "This is a test" "1000" "æøå"')
UnicodeEncodeError: 'ascii' codec can't encode characters in position 55-57: ordinal not in range(128)`
当我不尝试在os.system 中使用“æøå”时,它就像一个魅力 - 所以我担心问题出在os.system。
知道如何解决这个问题吗?
【问题讨论】:
-
你必须使用 Python 2.7 吗?在 3.x 中不会发生此错误。
-
是的 - 我必须使用 Python 2.7。将字符串声明为 unicode 并不能解决我的问题 - 正如我在帖子中所写的那样。
-
我建议你阅读这篇文章,这样当你发现这种错误时,你就会明白如何解决它:joelonsoftware.com/2003/10/08/…
标签: python python-2.7 os.system