Python osx 上的网络浏览器平台特定 unicode 错误
Python webbrowser platform specific unicode error on osx
我正在 Windows 7、Python 2.7 计算机上开发跨平台脚本。该脚本还将在安装了 Python 2.7 的 MacOSX 计算机上使用。
以下脚本在我的 Windows 计算机上运行良好,但是当我 运行 它在 Mac 上运行时,出现 unicode 错误。
#!/usr/bin/python
# -*- coding: utf-8 -*-
import webbrowser
webbrowser.open(u"http://www.google.fr?q=testéè")
这是错误:
Mac-mini-de-paul:paul paul$ python testUnicode.py
Traceback (most recent call last):
File "testUnicode.py", line 6, in <module>
webbrowser.open(u"http://www.google.fr?q=testéè")
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/webbrowser.py", line 62, in open
if browser.open(url, new, autoraise):
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/webbrowser.py", line 637, in open
osapipe.write(script)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 42-43: ordinal not in range(128)
我真的不明白这里有什么问题,Python 的基本函数应该可以正确处理 unicode 文件名,不是吗?
注意:
我看到了这个问题,但它对我没有帮助,而且 OP 没有任何错误:IMO not a duplicate
尝试手动编码为 utf-8:
webbrowser.open(u"http://www.google.fr?q=testéè".encode('utf-8'))
或者不使用 unicode,如果您提供文件编码:
#!/usr/bin/python
# -*- coding: utf-8 -*-
...
webbrowser.open("http://www.google.fr?q=testéè")
我正在 Windows 7、Python 2.7 计算机上开发跨平台脚本。该脚本还将在安装了 Python 2.7 的 MacOSX 计算机上使用。
以下脚本在我的 Windows 计算机上运行良好,但是当我 运行 它在 Mac 上运行时,出现 unicode 错误。
#!/usr/bin/python
# -*- coding: utf-8 -*-
import webbrowser
webbrowser.open(u"http://www.google.fr?q=testéè")
这是错误:
Mac-mini-de-paul:paul paul$ python testUnicode.py
Traceback (most recent call last):
File "testUnicode.py", line 6, in <module>
webbrowser.open(u"http://www.google.fr?q=testéè")
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/webbrowser.py", line 62, in open
if browser.open(url, new, autoraise):
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/webbrowser.py", line 637, in open
osapipe.write(script)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 42-43: ordinal not in range(128)
我真的不明白这里有什么问题,Python 的基本函数应该可以正确处理 unicode 文件名,不是吗?
注意: 我看到了这个问题,但它对我没有帮助,而且 OP 没有任何错误:IMO not a duplicate
尝试手动编码为 utf-8:
webbrowser.open(u"http://www.google.fr?q=testéè".encode('utf-8'))
或者不使用 unicode,如果您提供文件编码:
#!/usr/bin/python
# -*- coding: utf-8 -*-
...
webbrowser.open("http://www.google.fr?q=testéè")