Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
v2.7和v3.4中python UTF-8脚本的正确头_Python_Python 3.x_Python 2.7_Utf 8_Character Encoding - Fatal编程技术网

v2.7和v3.4中python UTF-8脚本的正确头

v2.7和v3.4中python UTF-8脚本的正确头,python,python-3.x,python-2.7,utf-8,character-encoding,Python,Python 3.x,Python 2.7,Utf 8,Character Encoding,对于不同版本的python,我已经找到了很多答案,但我很想了解一下在代码和注释中以及在输入接收值中都允许UTF-8字符的任何“最佳实践”方法 对于不同平台(win、mac等)中的同一脚本,这是否可以或应该改变 一段时间以来,我一直在脚本中使用此标题: #!/usr/bin/env python # -*- coding: utf-8 -*- 这可以防止在代码和注释中使用UTF-8字符时显示编码错误 /usr/bin/env部分在windows框中对我没有任何意义。我只是为了尼克斯盒子而存在 对

对于不同版本的python,我已经找到了很多答案,但我很想了解一下在代码和注释中以及在输入接收值中都允许UTF-8字符的任何“最佳实践”方法

对于不同平台(win、mac等)中的同一脚本,这是否可以或应该改变

一段时间以来,我一直在脚本中使用此标题:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
这可以防止在代码和注释中使用UTF-8字符时显示编码错误

/usr/bin/env
部分在windows框中对我没有任何意义。我只是为了尼克斯盒子而存在

对不起,如果这个问题太基本,但我需要一个简单的答案,而不是一个技术性的

在我悲伤的windows 7世界中,我还必须在头部下方使用(仅在Py27中)类似的东西来正确读取
chcp 1252
终端输入:

import codecs,locale,sys
sys.stdout = codecs.getwriter(locale.getpreferredencoding())(sys.stdout)
我知道这应该是另一个问题,但这两件事是相互关联的,所以

是否有一个“神奇的UTF-8头集”可以在win/mac/nix上工作而不需要更改?这只在py3中可能吗


谢谢。

您使用的是哪种文本编辑器?大多数情况下是升华,有时Spydersource文件编码与“*正确读取…终端输入”无关。我们可以告诉python如何解释python代码(python将在自己的内部表示中转换字符串)。输出取决于本地计算机,而不是开发人员环境,因此python将它们作为单独的问题使用。重新定义sys.stdout不会改变终端输入的读取方式。这只是关于产出。