Tag: python

我怎样才能build立一个Python的recursion函数?

我怎样才能build立一个Python的recursion函数?

是否使用“SET NAMES”

在阅读O'Reilly的“高性能MySQL”时,我偶然发现了以下内容 另一个常见的垃圾查询是SET NAMES UTF8,无论如何这是错误的做法(它不会改变客户端库的字符集;它只影响服务器)。 我有点困惑,因为我曾经把“SET NAMES utf8”放在每个脚本的顶部,让db知道我的查询是utf8编码的。 任何人都可以评论上面的报价,或者说,更正式地说,你的build议/最佳实践,以确保我的数据库工作stream是unicode意识。 我的目标语言是PHP和Python,如果这是相关的。

Python 3:ImportError“No Module named Setuptools”

我在Python 3中安装软件包时遇到麻烦。 我一直使用setup.py install命令安装软件包。 但是现在当我尝试安装ansicolors包时,我得到: importerror“没有名为Setuptools的模块” 我不知道该怎么做,因为我从来没有Setuptools,仍然我已经安装了很多与setup.py install命令没有setuptools的包,现在我应该得到setuptools。 我甚至不能安装setuptools,因为我有python 3.3,setuptools不支持python 3。 为什么我的安装命令不起作用了?

如何从Python函数调用捕获标准输出?

我正在使用一个Python库来对某个对象做些什么 do_something(my_object) 并改变它。 在这样做的时候,它会打印一些统计信息到stdout,我想要掌握这些信息。 正确的解决办法是改变do_something()返回相关信息, out = do_something(my_object) 但是do_something()的开发者会遇到这个问题。 作为一种解决方法,我想过parsing什么do_something()写入标准输出。 如何在代码中的两点之间捕获标准输出,例如, start_capturing() do_something(my_object) out = end_capturing() ?

如何在Python中逃避os.system()调用?

当使用os.system()时,通常需要将文件名和其他参数作为parameter passing给命令。 我该怎么做? 最好能在多个操作系统/ shell上工作,但特别是在bash上。 我目前正在做下面的事情,但肯定必须有一个库函数,或至less一个更优雅/健壮/高效的选项: def sh_escape(s): return s.replace("(","\\(").replace(")","\\)").replace(" ","\\ ") os.system("cat %s | grep something | sort > %s" % (sh_escape(in_filename), sh_escape(out_filename))) 编辑:我已经接受了使用引号的简单答案,不知道为什么我没有想到这一点; 我猜是因为我来自Windows,而且行为有点不同。 关于安全性,我理解这个问题,但是在这种情况下,我对os.system()提供的一个快速而简单的解决scheme感兴趣,而string的来源不是用户生成的,或者至less是由信任的用户(我)。

有matplotlib相当于MATLAB的datacursormode?

在MATLAB中,当用户鼠标hover时,可以使用datacursormode为graphics添加注释。 matplotlib中有这样的事吗? 或者我需要使用matplotlib.text.Annotation写我自己的事件?

Django的MultiValueDictKeyError错误,我如何处理它

干草,我试图保存一个对象到我的数据库,但它抛出一个MultiValueDictKeyError错误。 问题在于表单内,is_private由checkbox表示。 如果没有选中checkbox,则不会传递任何信息。 这是错误被卡住的地方。 我如何妥善处理这个exception,并抓住它? 这条线是 is_private = request.POST['is_private'] 谢谢

python 3.5:TypeError:需要类似字节的对象,而不是写入文件时的“str”

我最近迁移到Py 3.5。 这段代码在Python 2.7中正常工作: with open(fname, 'rb') as f: lines = [x.strip() for x in f.readlines()] for line in lines: tmp = line.strip().lower() if 'some-pattern' in tmp: continue # … code 升级到3.5后,我得到: TypeError: a bytes-like object is required, not 'str' 最后一行错误(模式search代码)。 我试着在声明的任何一边使用.decode()函数,也试过: if tmp.find('some-pattern') != -1: continue – 无济于事。 我几乎能够快速解决所有2:3的问题,但是这个小小的陈述让我烦恼不已。

使用python-Scrapy刮取dynamic内容

免责声明:我已经在StackOverflow上看到许多其他类似的post,并试图以同样的方式做,但他们似乎并没有在这个网站上工作。 我正在使用Python-Scrapy从koovs.com获取数据。 但是,我无法获得dynamic生成的产品大小。 具体来说,如果有人可以指导我从这个链接的下拉菜单中获取“不可用”尺寸标签,我将不胜感激。 我能够静态地获得大小列表,但是这样做只能获取大小列表,而不能获取大小列表。

Linux上的两个版本的Python。 如何使2.7默认

我的linuxbox上有两个版本的python: $python Python 2.6.6 (r266:84292, Jul 10 2013, 22:48:45) [GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> $ /usr/local/bin/python2.7 Python 2.7.3 (default, Oct 8 2013, 15:53:09) [GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> $ […]