Questions tagged «python»

Python是一种多范式,动态类型的多用途编程语言。它旨在快速学习,理解和使用并强制使用干净统一的语法。请注意,Python 2自2020年1月1日起已不再受支持。不过,对于特定于版本的Python问题,请添加[python-2.7]或[python-3.x]标签。使用Python变体或库(例如Jython,PyPy,Pandas,Numpy)时,请将其包含在标签中。

3
Python DB-API:fetchone与fetchmany与fetchall
我今天刚刚和一些同事讨论了python的db-api fetchone vs fetchmany vs fetchall。 我确定每个应用程序的用例都取决于我正在使用的db-api的实现,但是总体而言,fetchone,fetchmany,fetchall的用例是什么? 换句话说,以下等效项是什么?还是其中有一个比其他人更受青睐?如果是这样,在哪些情况下? cursor.execute("SELECT id, name FROM `table`") for i in xrange(cursor.rowcount): id, name = cursor.fetchone() print id, name cursor.execute("SELECT id, name FROM `table`") result = cursor.fetchmany() while result: for id, name in result: print id, name result = cursor.fetchmany() cursor.execute("SELECT id, name FROM `table`") …

5
为什么在Python中无法分配全局变量?
我在尝试理解python作用域规则时遇到了麻烦。 使用以下脚本: a = 7 def printA(): print "Value of a is %d" % (a) def setA(value): a = value print "Inside setA, a is now %d" %(a) print "Before setA" printA() setA(42) print "After setA" printA() 给我意外的输出: 在setA之前 a的值为7 在setA内,a现在为42 setA之后 a的值为7 我期望a值的最后打印结果是42,而不是7。在Python中,对全局变量进行作用域定义的范围规则使我遗漏了什么?


9
从一组(相似)字符串中确定前缀
我有一组字符串,例如 my_prefix_what_ever my_prefix_what_so_ever my_prefix_doesnt_matter 我只是想找到这些字符串中最长的公共部分,这里是前缀。在上面的结果应该是 my_prefix_ 琴弦 my_prefix_what_ever my_prefix_what_so_ever my_doesnt_matter 应该导致前缀 my_ Python中是否有一种相对轻松的方法来确定前缀(而不必手动遍历每个字符)? PS:我正在使用Python 2.6.3。
72 python  string  prefix 


6
正则表达式匹配数
我正在使用模块中的finditer函数re来匹配某些东西,并且一切正常。 现在,我需要找出我有多少场比赛。是否可以不两次遍历迭代器?(先找出计数然后是真正的迭代) 一些代码: imageMatches = re.finditer("<img src\=\"(?P<path>[-/\w\.]+)\"", response[2]) # <Here I need to get the number of matches> for imageMatch in imageMatches: doStuff 一切正常,我只需要在循环之前获取匹配数即可。
72 python  regex 


5
有什么方法可以检查Python unittest assert是否可迭代不为空?
向服务提交查询后,我得到了字典/列表,并希望确保它不为空。我使用的是Python 2.7。 我很惊讶我没有assertEmpty为unittest.TestCase类实例找到任何方法。 现有的替代方案,例如: self.assertTrue(bool(d)) 和 self.assertNotEqual(d,{}) 和 self.assertGreater(len(d),0) 只是看起来不正确。 Python unittest框架中缺少这种方法吗?如果是,那么断言Iterable不为空的最Python方式是什么?

9
从Python字符串中删除不在允许列表中的HTML标签
我有一个包含文本和HTML的字符串。我想删除或以其他方式禁用某些HTML标记,例如<script>,同时允许其他HTML标记,以便我可以安全地在网页上呈现它。我有一个允许标签的列表,如何处理字符串以删除任何其他标签?
72 python  html 

10
给C#程序员编写Python的建议[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 在过去的几年中,我主要从事C#开发,但最近开始做一些Python(不是Iron Python)。但是我不确定我是否已经在精神上飞跃到Python ...我觉得我正在尝试像在C#中那样做事情。 关于如何充分利用Python的任何建议? 还是任何技巧,窍门,需要更多了解的东西,需要注意的事情?
72 c#  python 


3
覆盖urllib2.HTTPError或urllib.error.HTTPError并以任何方式读取响应HTML
我收到“ HTTP错误500:内部服务器错误”响应,但是我仍然想读取错误HTML中的数据。 使用Python 2.6,我通常使用以下命令获取页面: import urllib2 url = "http://google.com" data = urllib2.urlopen(url) data = data.read() 尝试在失败的URL上使用它时,出现异常urllib2.HTTPError: urllib2.HTTPError: HTTP Error 500: Internal Server Error 如何urllib2在返回内部服务器错误的同时获取此类错误页面(带有或不带有)? 请注意,在Python 3中,相应的例外是urllib.error.HTTPError。

10
Python导入有什么好的经验法则?
我对使用Python导入模块的多种方式感到有些困惑。 import X import X as Y from A import B 我一直在阅读有关范围和名称空间的信息,但是我想获得关于什么是最佳策略,在什么情况下以及为什么使用的最佳实践建议。导入应该在模块级别还是方法/功能级别进行?在__init__.py或模块代码本身中? 尽管“ Python软件包-按类而不是文件导入”确实没有回答我的问题,尽管它显然是相关的。

8
在Python中哪个最好:urllib2,PycURL或机械化?
好的,所以我需要使用Python下载一些网页,并对我的选项进行了快速调查。 包含在Python中: urllib-在我看来,我应该改用urllib2。urllib不支持cookie,仅HTTP / FTP /本地文件(不支持SSL) urllib2-完整的HTTP / FTP客户端,支持大多数需要的东西,例如cookie,不支持所有HTTP动词(仅GET和POST,无TRACE等) 全功能: 机械化-可以使用/保存Firefox / IE cookie,采取诸如跟随第二个链接之类的操作,并得到积极维护(2011年3月发布的0.2.5) PycURL-支持curl所做的所有事情(FTP,FTPS,HTTP,HTTPS,GOPHER,TELNET,DICT,FILE和LDAP),坏消息:自2008年9月9日以来未更新(7.19.0) 新的可能性: urllib3-支持连接重用/池化和文件发布 不推荐使用(也可以使用urllib / urllib2代替): httplib-仅HTTP / HTTPS(无FTP) httplib2-仅HTTP / HTTPS(无FTP) 让我印象深刻的第一件事是urllib / urllib2 / PycURL / mechanize都是相当成熟的解决方案,可以很好地工作。mechanize和PycURL附带了许多Linux发行版(例如Fedora 13)和BSD,因此安装通常不是问题(很好)。 urllib2看起来不错,但我想知道为什么PycURL和机械化两者似乎都很流行,是否缺少某些东西(即,如果我使用urllib2,我是否会在某个时候画一个角?)。我真的很想就这些事情的利弊提供一些反馈,以便为自己做出最佳选择。 编辑:在urllib2中添加了有关动词支持的注释

7
Ubuntu上的Python 2.7
我是Python的新手,正在Linux机器(Ubuntu 10.10)上工作。它正在运行python 2.6,但是我想运行2.7,因为它具有我要使用的功能。我被敦促不要安装2.7并将其设置为我的默认python。 我的问题是,如何安装2.7并使其与2.6并排运行?

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.