【问题标题】:Python scripts will only run in PyCharmPython 脚本只能在 PyCharm 中运行
【发布时间】:2017-04-02 09:49:13
【问题描述】:

使用 python 3.5,如下所示:link。该图显示了当我尝试运行任何未在 PyCharm 中执行的脚本时不断发生的情况。如果我在 PyCharm 中运行完全相同的代码,它工作得非常好。这是我在cmd中运行的代码:

python test.py

错误信息:

文件“test.py”,第 86 行
SyntaxError:第 86 行文件 test.py 中以 '\xf8' 开头的非 UTF-8 代码,但未声明编码;详情见http://python.org/dev/peps/pep-0263/

我发现这是因为我有一些“非英文字母”(例如æ、ø、å)。但问题是脚本将搜索带有文本"armbåndsure" 的网络元素。它无法识别 å -字符,我该如何解决此错误?这是我的代码:

emner = browser.find_element_by_link_text('Armbåndsure og lommeure')

该行的错误代码:

文件“test.py”,第 96 行
SyntaxError:第 96 行文件 test.py 中以 '\xe5' 开头的非 UTF-8 代码,但未声明编码;详情见http://python.org/dev/peps/pep-0263/

【问题讨论】:

  • 那么...... test.py 的第 86 行是什么字符?

标签: python pycharm


【解决方案1】:

此时,任何时候你说“我的脚本甚至与 unicode 都没有任何关系”,你几乎肯定是错的。您的代码文件很可能保存为 UTF-8,因此使您的脚本本身 unicode 和非英文字符应该可以工作假设它们都正确编码。如果您还没有,您应该阅读有关 unicode 支持的 Python 文档(python 2xPython 3x)。

既然你说脚本在 PyCharm 中运行,它可能正在正确检测和设置编码,但在其他情况下,解释器猜测不正确。

如果您可以在良好的代码编辑器中打开文件并显示所有字符,请尝试将文件显式保存为 UTF-8 并查看是否可以更正编码错误。根据您的 Python 版本,您可能还需要在文件中显式设置编码。

【讨论】:

  • 检查我更新的问题,你是对的,我完全智障了第二次忘记了我的脚本中有“æ,ø,å”。
  • 由于您担心脚本中的编码问题,我建议您阅读正确版本的 Python(或两者)的 HOWTO,如果您仍然感到困惑,请写下有关该部分的新问题的脚本。包括您正在使用的 Python 版本,因为字符编码的 2x 和 3x 之间存在差异。
猜你喜欢
  • 1970-01-01
  • 2021-07-31
  • 2018-12-20
  • 1970-01-01
  • 1970-01-01
  • 2018-03-23
  • 2020-01-17
  • 1970-01-01
  • 2019-12-06
相关资源
最近更新 更多