Python jupyter笔记本电脑pyinstaller exe无法读取文件
因此,我使用anaconda/jupyter笔记本编写了一个python脚本。 脚本在这个环境中运行时一切正常。 然后,我会复制脚本并将其粘贴到一个文件中,以.py扩展名保存它。 然后,在命令提示符下运行:Python jupyter笔记本电脑pyinstaller exe无法读取文件,python,jupyter-notebook,pyinstaller,Python,Jupyter Notebook,Pyinstaller,因此,我使用anaconda/jupyter笔记本编写了一个python脚本。 脚本在这个环境中运行时一切正常。 然后,我会复制脚本并将其粘贴到一个文件中,以.py扩展名保存它。 然后,在命令提示符下运行: pyinstaller -w -F myProgram.py 但是,从jupyter笔记本运行时,.exe文件的行为似乎与脚本不同。 经过一些故障排除,我发现以下是问题的原因。 我正在读取的文件有一些特殊字符(立方符号) 将代码更改为以下内容后,现在.exe也可以工作 for line i
pyinstaller -w -F myProgram.py
但是,从jupyter笔记本运行时,.exe文件的行为似乎与脚本不同。
经过一些故障排除,我发现以下是问题的原因。
我正在读取的文件有一些特殊字符(立方符号)
将代码更改为以下内容后,现在.exe也可以工作
for line in open(os.path.join(AMSFiles, file), "rb"):
XMLFile.append(line.decode("utf-8", "ignore"))
我的问题是,为什么我可以运行jupyter笔记本中的第一行代码而没有任何错误,而不是它的结果.exe?我希望特殊字符在这两种情况下都给出一个错误,有什么不同
关于,您正在禁用带有
-w
标志的控制台输出,这就是为什么控制台中没有任何错误。请尝试删除该标志,然后再试一次。您好,先生,我的意思是该脚本在jupyter中运行良好(这是在使用-w标志运行pyinstaller之前)。然后,当我将脚本转换为.exe文件时,它会在某些特殊字符上出错。我不知道为什么即使是同一个脚本,行为也会有所不同?所讨论的行是我提到的前两行:对于open中的行(os.path.join(AMSFiles,file),“r”):“XMLFile.append(line)”按照我所说的运行代码并输入确切的错误。您好,先生,谢谢,我现在学到了一个更好的做法。但就问题本身而言,我现在似乎无法复制它,奇怪的是:S
for line in open(os.path.join(AMSFiles, file), "rb"):
XMLFile.append(line.decode("utf-8", "ignore"))