Questions tagged «python-2.x»

对于特定于该语言2.x版的Python编程问题。如果您的问题不是特定于版本的,则使用更通用的[tag:python]标记。

28
UnicodeEncodeError:'ascii'编解码器无法在位置20编码字符u'\ xa0':序数不在范围内(128)
我在处理从不同网页(在不同站点上)获取的文本中的unicode字符时遇到问题。我正在使用BeautifulSoup。 问题是错误并非总是可重现的。它有时可以在某些页面上使用,有时它会通过抛出来发声UnicodeEncodeError。我已经尝试了几乎所有我能想到的东西,但是没有找到任何能正常工作而不抛出某种与Unicode相关的错误的东西。 导致问题的代码部分之一如下所示: agent_telno = agent.find('div', 'agent_contact_number') agent_telno = '' if agent_telno is None else agent_telno.contents[0] p.agent_info = str(agent_contact + ' ' + agent_telno).strip() 这是运行上述代码段时在某些字符串上生成的堆栈跟踪: Traceback (most recent call last): File "foobar.py", line 792, in <module> p.agent_info = str(agent_contact + ' ' + agent_telno).strip() UnicodeEncodeError: 'ascii' codec can't encode character …

8
如何在Python中将字典键作为列表返回?
在Python 2.7中,我可以将字典键,值或项作为列表获取: >>> newdict = {1:0, 2:0, 3:0} >>> newdict.keys() [1, 2, 3] 现在,在Python> = 3.3中,我得到如下信息: >>> newdict.keys() dict_keys([1, 2, 3]) 因此,我必须这样做以获得列表: newlist = list() for i in newdict.keys(): newlist.append(i) 我想知道,是否有更好的方法在Python 3中返回列表?




10
Python2中的dict.items()和dict.iteritems()有什么区别?
dict.items()和之间有适用的区别dict.iteritems()吗? 从Python文档: dict.items():返回字典的(键,值)对列表的副本。 dict.iteritems():在字典的(键,值)对上返回迭代器。 如果我运行下面的代码,每个似乎都返回对同一对象的引用。我缺少任何细微的差异吗? #!/usr/bin/python d={1:'one',2:'two',3:'three'} print 'd.items():' for k,v in d.items(): if d[k] is v: print '\tthey are the same object' else: print '\tthey are different' print 'd.iteritems():' for k,v in d.iteritems(): if d[k] is v: print '\tthey are the same object' else: print '\tthey are different' 输出: …

8
Python中的__future__是什么,以及如何/何时使用它以及如何工作
__future__经常出现在Python模块中。__future__即使阅读了python的__future__文档,我也不明白它的用途以及使用时间/方式。 有人可以举例说明吗? 关于__future__我收到的基本用法的一些答案似乎是正确的。 但是,我需要了解有关__future__工作原理的另一件事: 对我来说,最令人困惑的概念是当前的python版本如何包含未来版本的功能,以及如何使用当前版本的Python成功地编译使用未来版本的功能的程序。 我猜想当前版本包含了将来的潜在功能。但是,这些功能仅可通过使用获得,__future__因为它们不是当前标准。让我知道我是否正确。
692 python  python-2.x 

7
字符串标志“ u”和“ r”到底是做什么的,什么是原始字符串文字?
当问这个问题时,我意识到我对原始字符串不了解很多。对于自称是Django培训师的人来说,这很糟糕。 我知道什么是编码,而且我知道u''自从得到Unicode以来,它独自做什么。 但是究竟是r''什么呢?它产生什么样的字符串? 最重要的是,该怎么ur''办? 最后,有什么可靠的方法可以从Unicode字符串返回到简单的原始字符串? 嗯,顺便说一句,如果您的系统和文本编辑器字符集设置为UTF-8,u''实际上有什么作用吗?

8
移除Python unicode字符串中的重音符号的最佳方法是什么?
我在Python中有一个Unicode字符串,我想删除所有的重音符号(变音符号)。 我在网上发现了一种用Java实现此目的的优雅方法: 将Unicode字符串转换为长规范化格式(带有单独的字母和变音符号) 删除Unicode类型为“变音符号”的所有字符。 我是否需要安装pyICU之类的库,还是仅使用python标准库就可以?那python 3呢? 重要说明:我想避免使用带有重音符号到非重音符号的显式映射的代码。

24
如何在Python中四舍五入一个数字?
这个问题使我丧命。如何在Python中向上舍入一个数字? 我尝试了舍入(数字),但它四舍五入数字。例: round(2.3) = 2.0 and not 3, what I would like 我尝试了int(number + .5),但是它再次将数字取整!例: int(2.3 + .5) = 2 然后我尝试了round(number + .5),但在边缘情况下不起作用。例: WAIT! THIS WORKED! 请指教。


10
在Python中管道输出标准输出时设置正确的编码
当传递Python程序的输出的管道时,Python解释器会对编码感到困惑,并将其设置为None。这意味着这样的程序: # -*- coding: utf-8 -*- print u"åäö" 正常运行时可以正常工作,但失败: UnicodeEncodeError:'ascii'编解码器无法在位置0编码字符u'\ xa0':序数不在范围内(128) 以管道顺序使用时。 使管道工作的最佳方法是什么?我能告诉它使用外壳程序/文件系统/正在使用的任何编码吗? 到目前为止,我所看到的建议是直接修改site.py,或使用此hack硬编码defaultencoding: # -*- coding: utf-8 -*- import sys reload(sys) sys.setdefaultencoding('utf-8') print u"åäö" 有没有更好的方法可以使管道工作?


21
如何从JSON获取字符串对象而不是Unicode?
我正在使用Python 2从ASCII编码的文本文件中解析JSON 。 使用json或 加载这些文件时simplejson,我所有的字符串值都转换为Unicode对象而不是字符串对象。问题是,我必须将数据与仅接受字符串对象的某些库一起使用。我无法更改库,也无法更新它们。 是否可以获取字符串对象而不是Unicode对象? 例 >>> import json >>> original_list = ['a', 'b'] >>> json_list = json.dumps(original_list) >>> json_list '["a", "b"]' >>> new_list = json.loads(json_list) >>> new_list [u'a', u'b'] # I want these to be of type `str`, not `unicode` 更新资料 很久以前,当我坚持使用Python 2时就问了这个问题。今天一种简单易用的解决方案是使用最新版本的Python,即Python 3及更高版本。

8
将Unicode文本写入文本文件?
我正在从Google文档中提取数据,进行处理,然后将其写入文件(最终我将其粘贴到Wordpress页面中)。 它具有一些非ASCII符号。如何将这些安全地转换为可以在HTML源代码中使用的符号? 目前,我正在将所有内容都转换为Unicode,将它们全部组合成Python字符串,然后执行以下操作: import codecs f = codecs.open('out.txt', mode="w", encoding="iso-8859-1") f.write(all_html.encode("iso-8859-1", "replace")) 最后一行存在编码错误: UnicodeDecodeError:'ascii'编解码器无法解码位置12286的字节0xa0:序数不在范围内(128) 部分解决方案: 此Python运行无错误: row = [unicode(x.strip()) if x is not None else u'' for x in row] all_html = row[0] + "<br/>" + row[1] f = open('out.txt', 'w') f.write(all_html.encode("utf-8")) 但是,如果我打开实际的文本文件,则会看到很多符号,例如: Qur‚Äôan 也许我需要写文本文件以外的东西?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.