- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
可能我完全不明白,所以你能看一下代码示例并告诉我我应该怎么做,以确保它能正常工作吗?
我在 Eclipse 中用 Pydev 试过了。我使用 python 2.6.6(因为某些库不支持 python 2.7)。
首先,不使用codecs模块
# -*- coding: utf-8 -*-
file1 = open("samoloty1.txt", "w")
file2 = open("samoloty2.txt", "w")
file3 = open("samoloty3.txt", "w")
file4 = open("samoloty4.txt", "w")
file5 = open("samoloty5.txt", "w")
file6 = open("samoloty6.txt", "w")
# I know that this is weird, but it shows that whatever i do, it not ruin anything...
print u"ą✈✈"
file1.write(u"ą✈✈")
print "ą✈✈"
file2.write("ą✈✈")
print "ą✈✈".decode("utf-8")
file3.write("ą✈✈".decode("utf-8"))
print "ą✈✈".encode("utf-8")
file4.write("ą✈✈".encode("utf-8"))
print u"ą✈✈".decode("utf-8")
file5.write(u"ą✈✈".decode("utf-8"))
print u"ą✈✈".encode("utf-8")
file6.write(u"ą✈✈".encode("utf-8"))
file1.close()
file2.close()
file3.close()
file4.close()
file5.close()
file6.close()
file1 = open("samoloty1.txt", "r")
file2 = open("samoloty2.txt", "r")
file3 = open("samoloty3.txt", "r")
file4 = open("samoloty4.txt", "r")
file5 = open("samoloty5.txt", "r")
file6 = open("samoloty6.txt", "r")
print file1.read()
print file2.read()
print file3.read()
print file4.read()
print file5.read()
print file6.read()
这些打印品中的每一个都可以正常工作,我没有得到任何有趣的字符。
我也试过这个:我删除了之前测试中创建的所有文件,只更改了那些行:
file1 = open("samoloty1.txt", "w")
给那些:
file1 = codecs.open("samoloty1.txt", "w", encoding='utf-8')
再次一切正常...
任何人都可以举例说明哪些有效,哪些无效?
这应该是一个单独的问题吗?我正在通过这个下载网页:
content = urllib.urlopen(some_url).read()
ucontent = unicode(content, encoding) # i get encoding from headers
这是否正确且足够?接下来我应该怎么做才能将它存储在 utf-8 文件中? (我问它是因为无论我以前做什么,它都有效...)
** 更新 **
可能一切正常,因为 PyDev(或只是 Eclipse)有以 UTF-8 编码的终端。因此,对于测试,我使用了 Windows 7 中的 cmd,但出现了一些错误。现在一切都按预期崩溃了。 :D 在这里,我展示了我为让它再次工作所做的更改(所有这些更改对我来说都是合理的,并且它们与我在答案和 Python 文档中的文档中学到的内容一致)。
print u"ą✈✈".encode("utf-8") # added encode
file1.write(u"ą✈✈".encode("utf-8")) # added encode
print "ą✈✈"
file2.write("ą✈✈")
print "ą✈✈" # removed .decode("utf-8")
file3.write("ą✈✈") # removed .decode("utf-8"))
print "ą✈✈" # removed .encode("utf-8")
file4.write("ą✈✈") # removed .encode("utf-8"))
print u"ą✈✈".encode("utf-8") # changed from .decode("utf-8")
file5.write(u"ą✈✈".encode("utf-8")) # changed from .decode("utf-8")
print u"ą✈✈".encode("utf-8")
file6.write(u"ą✈✈".encode("utf-8"))
就像有人说的那样,当我使用编解码器时,我不需要每次在写入文件之前都使用 encode()。 :)问题是,哪个答案应该被标记为正确?
最佳答案
您很幸运,您的控制台编码默认为 utf-8
。
如果将 unicode
对象传递给文件对象 (sys.stdout
) 的 write
方法方法,该对象将被隐式解码为它的 encoding
属性。
在 Windows 上工作的人就没那么幸运了:How to workaround Python "WindowsError messages are not properly encoded" problem?
关于python - 为什么所有这些 unicode 命令在 Python 中都能正常工作?他们都正确地打印了我的角色,不管我做什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8963616/
使用下面的代码,我能够得到正确的答案,但是它重复了 两次 . 例如,我只想要 [1.2038, 1.206] 的结果,但下面的代码打印 [1.2038, 1.206, 1.2038, 1.206] .
我正在尝试显示我从 https://www.findomestic.it/ 中抓取 的结果, 我收到一个错误 我的代码在这里: from selenium.webdriver.common.by im
假设我有以下代码: double median = med(10.0, 12.0, 3.0); //method returns middle number as double 现在,我想写一条消息说
我是一名优秀的程序员,十分优秀!