2015-08-25 89 views
1

好吧,我在Python中遇到了这个问题:我需要将路径目录存储在字符串变量中。现在路径可能包含拉丁字母和希腊字符。 这个变量后来会被用作路径目录,管理文件等等。在Python 3中使用unicode字符3

当我通过控制台的input()函数给变量赋值(路径)时,它工作正常。但是,当我直接设置变量的值,这样的事情: 路径=“F:\Λήψεις” 我得到一个错误信息: 语法错误:非UTF-8编码开头的文件C“\ XCB”:\用户\ kostas \ My Documents \ LiClipse Workspace \ auto_file \ auto_file.py在127行,但没有编码声明;见http://python.org/dev/peps/pep-0263/的细节

,不会出现这样的问题(或任何其他问题)时,我的路径是整个拉丁美洲: 路径= 'F:\下载'

我使用Windows,Liclipse,Python 3中.. 我读过文档,但并没有理解更多的东西,因为Python 3默认包含希腊字符的UTF-8编码。

所以我的问题是我如何让路径='F:\Λήψεις'工作?

+1

Atleast向我们展示您的完整代码?你是否正确设置了文件的编码? –

+0

你使用什么编辑器?你实际使用什么编码来源?你可以配置编辑器使用UTF-8吗?你为源代码指定了哪些编码?例如,如果您使用ISO 8859-7进行编码(您可以使用该编码),并且指定了预期结果的UTF-8编码。请注意,在python3 UTF-8是默认的,而在python2 ASCII是默认的。 – skyking

+0

另请注意,反斜杠需要转义才能避免与转义序列混淆。例如它应该是“F:\ Downloads”。 – skyking

回答

0

如果您没有另外指定,则默认情况下Python 3默认采用UTF-8编码源文件。我可以在错误消息(SyntaxError: Non-UTF-8 code)中看到您的运行时环境已配置为正确使用Python 3执行。

所以唯一可能导致这种情况的是你的编辑器,它必须以其他编码方式而不是UTF-8保存文件。

可能的解决方案:

  1. 查找范围的编码类型的编辑器设置,如果你可以改变它,然后将其设置为UTF-8。
  2. 如果您可以识别正在使用的编码,但它不可配置,那么您仍然可以使用add the encoding declaration at the top of the source file
  3. 失败1或2,您可以尝试使用不同的编辑器保存相同的源代码,您可以在其中控制编码。
+0

感谢您的回复......我的编辑器是Liclipse中的PyDev,它使用了Cp1253编码。我将其更改为UTF-8,但仍然收到相同的错误消息。还有其他建议吗? –