- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我收到错误:“UnicodeDecodeError: 'ascii' codec can't decode byte 0xa0 in position 7338: ordinal not in range(128)”
一旦我在卡住后尝试运行程序我的脚本与 cx_freeze。如果我正常运行 Python 3 脚本,它运行良好,但只有在我卡住它并尝试运行可执行文件后,它才会给我这个错误。我会发布我的代码,但我不知道到底要发布哪些部分,所以如果有任何特定部分可以帮助我,我会发布它们,否则我以前好像遇到过这个问题并解决了它,但已经有一段时间了,我不记得到底是什么问题或者我是如何解决它的,所以任何帮助或指导让我朝着正确的方向前进都会有很大帮助。提前致谢。
最佳答案
确切地告诉我们什么平台上的 Python 版本。
显示错误发生时获得的完整回溯。你自己看吧。出现的代码的最后一行是什么?您认为正在解码的 bytes
字符串是什么?为什么要使用 ascii
编解码器??
请注意,使用默认编解码器(例如 ascii)自动将 bytes
转换为 str
不是由 Python 3.x 完成的。所以要么你明确地这样做,要么 cx_freeze 是。
在评论中提供更多信息后更新。
Excel 不会以 ASCII 格式保存 csv 文件。它将它们保存在 MS 所谓的“ANSI 代码页”中,该代码页因区域设置而异。如果你不知道你的是什么,它可能是 cp1252
。要检查,请执行以下操作:
>>> import locale; print(locale.getpreferredencoding())
cp1252
如果 Excel 确实以 ASCII 格式保存文件,您的违规 '\xa0'
字节将被替换为 '?'并且您不会收到 UnicodeDecodeError。
将文件保存为 UTF-8
需要您使用 encoding='utf8'
打开文件,并且会遇到同样的问题(除了您会得到关于 0xc2 而不是 0xa0 的提示)。
您不需要将所有四个 csv 文件都发布到网络上。只需运行这个小脚本(未经测试):
import sys
for filename in sys.argv[1:]:
for lino, line in enumerate(open(filename), 1):
if '\xa0' in line:
print(ascii(filename), lino, ascii(line))
'\xa0'
是一个 NO-BREAK SPACE
又名
...您可能想要编辑您的文件以更改这些到普通空间。
您可能需要在 cx_freeze 邮件列表上询问,以获得发生此错误的原因的答案。他们会想知道完整的追溯。进行一些练习 - 在这里展示。
顺便说一下,“偏移量 7338”相当大——您希望 csv 文件中的行有那么长吗?也许有些东西正在读取您的所有文件...
关于python - UnicodeDecodeError 仅适用于 cx_freeze,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5916711/
我正在尝试编译一个 python 程序,我使用的是 python 3.2。所以我下载了 cx_freeze 并安装了它。当我尝试在 cmd 中运行 setup.py 时,它说: "importerro
我正在尝试将我的 python 3.4 程序转换为 exe 以供分发。我尝试使用 cx_Freeze 来做到这一点。但是,当我使用此 setup.py 运行 python setup.py build
我在使用 cx_Freeze-5.0.1-cp36-cp36m-win32.whl 将 python 3.6 编译为 exe 时遇到问题,请帮助我。 我已经从http://www.lfd.uci.ed
比方说 numpy_example.py是: import numpy as np a = np.array([1, 2, 3]) print(a) 使用 Python 2.7.9,使用 cxFree
我正在使用 python 3.7 和 cx_Freeze 5.1.1 ,我试图将我的 python 脚本转换为可执行文件,但我遇到了丢失模块错误,我被难住了。 我尝试将模块放入包中并包含安装脚本,但没
我正在尝试为 Python 3.3 安装 cx_Freeze。但是,在编译源代码时出现此错误 gcc -pthread build/temp.linux-i686-3.3/source/bases/C
tss.py --> 该文件包含一个打开另一个 python 文件 (dark.py) 的子进程 import subprocess as sp def process(): programN
所以我的 python 脚本依赖于我创建的另一个模块。该模块读取文本文件。当我从源代码运行并且一切正常时,脚本、模块和它读取的文件通常位于同一目录中。 我用cx_freeze编译,当我运行它时,导入的
我有一个应用程序,可以在运行时将一些内容打印到控制台。但作为独立的可执行文件不会在控制台上打印任何内容? setup.py 脚本如下所示: import sys from cx_Freeze impo
我尝试将我的(正常工作的)python 3.6 tkinter gui 应用程序构建为 Windows 可执行文件。经过几个小时的尝试,出现了一个错误(有一些名称和 dll 问题),我让它运行了。但它
目前我正在使用 pyinstaller 来捆绑我的 python 应用程序。我同样迁移到 pyGObject(由于 pygtk 被折旧)。 现在 pyinstaller 不支持 pyGObject 并
我正在使用 cx_freeze 模块来创建安装程序和可执行文件。这似乎工作正常,但在运行可执行文件时,我收到以下错误和回溯。 D:\>"app.exe" Traceback (most recent
我可以使用 cx_freeze 来打包我的 python 工具,但是无法加载我需要的库。由于某种原因,输出的可执行文件/二进制名称不断包含在路径中。 我收到以下错误: OSError:/home/de
我正在尝试从 python 脚本(使用大量鸡蛋)构建可执行文件(适用于 32 位 Windows xp) 我考虑过 py2exe(0.6.9)、PyInstaller (1.4) 和 cx_Freez
您好,我尝试在我的 Linux 上安装 cx_Freeze,但我无法安装。我想安装它以将我的 python 应用程序 (.py) 转换为可执行应用程序。 我从这个网站下载资源:https://sour
我选择尝试使用 cx_freeze,它将我的简单 python 3.x 键盘记录器转换为 exe。我选择 cx_freeze 因为 py2exe 只是 python 2.x 我正在使用这个 setup
Adter 使用 cx-freeze python 3.6 创建一个 exe,在 Windows 中工作正常,但在 Linux 中它运行无限次而不停止,即使我只输入 print('hello word
我制作了一个程序,它使用 os.startfile() 启动另一个 python 程序。 我想把它作为两个 exe 文件,通过使用 subprocess.call() 启动第二个文件,在 1 个构建文
我目前正在尝试制作 cx_freeze在我必须使用的 Solaris 工作站上工作,以便从我拥有的 Python 脚本生成可执行文件。问题是,我不是这台机器的管理员,安装cx_freeze请求写入站点
我在将内容包含到我的 cx_Freeze 脚本中时遇到了这个问题,我试图做的是包含 easygui 和 sys,因为我在我的程序中使用它们。任何帮助将不胜感激! 代码如下: import sys fr
我是一名优秀的程序员,十分优秀!