Tag: python

Python:logging模块 – 全局

嘿,我想知道如何实现一个全球logging器,可以在任何地方使用自己的设置: 我有 class customLogger(logging.Logger): … 在与格式化程序和其他东西的文件。 logging器完全依靠自己的工作。 我在我的main.py文件中导入这个模块并创build一个像这样的对象: self.log = log.customLogger(arguments) 但显然我不能从我的代码的其他部分访问这个对象。 我用错了吗? 有一个更好的方法吗?

Numpy:find范围内的元素

例如,我有一个数字的数组, a = [1, 3, 5, 6, 9, 10, 14, 15, 56] 我想find特定范围内的所有元素。 例如,如果范围是(6,10),答案应该是(3,4,5)。 有没有一个内置的function来做到这一点?

Python和SQLite:插入到表中

我有一个列有3行,每个代表一个表行: >>> print list [laks,444,M] [kam,445,M] [kam,445,M] 如何将此列表插入表中? 我的表格结构是: tablename(name varchar [100],年龄int,性char [1]) 还是应该使用列表以外的东西? 这里是实际的代码部分: for record in self.server: print "—>",record t=record self.cursor.execute("insert into server(server) values (?)",(t[0],)); self.cursor.execute("insert into server(id) values (?)",(t[1],)) self.cursor.execute("insert into server(status) values (?)",(t[2],)); 插入三个字段分开工作,但使用一个单一的线 self.cursor.execute("insert into server(server,c_id,status) values (?,?,?)",(t[0],),(t[1],),(t[2],)) 要么 self.cursor.execute("insert into server(server,c_id,status) values (?,?,?)",(t),) 才不是。

如何从Pandas数据框中过滤包含string模式的行

假设我们在Python Pandas中有一个数据框,如下所示: df = pd.DataFrame({'vals': [1, 2, 3, 4], 'ids': [u'aball', u'bball', u'cnut', u'fball']}) 或者,以表格forms: ids vals aball 1 bball 2 cnut 3 fball 4 如何过滤包含关键词“球”的行? 例如,输出应该是: ids vals aball 1 bball 2 fball 4

什么是更快的操作,re.match / search或str.find?

对于一个stringsearch,简单地使用str.find / rfind比使用re.match / search更快吗? 也就是说,对于给定的strings,我应该使用: if s.find('lookforme') > -1: do something 要么 if re.match('lookforme',s): do something else ?

开始迭代Python列表的索引

在Python中迭代列表时设置开始索引的最佳方式是什么? 例如,我列出星期几 – 星期日,星期一,星期二,星期六的列表 – 但是我想从星期一开始重复列表。 这样做的最佳做法是什么?

“安装python库时'cc'失败,退出状态1”错误

像其他许多人一样,我遇到安装python库的问题(作为tar下载,然后解压缩)。 rodolphe-mbp:python-Levenshtein-0.11.2 Rodolphe$ sudo python setup.py install running install running bdist_egg running egg_info writing requirements to python_Levenshtein.egg-info/requires.txt writing python_Levenshtein.egg-info/PKG-INFO writing namespace_packages to python_Levenshtein.egg-info/namespace_packages.txt writing top-level names to python_Levenshtein.egg-info/top_level.txt writing dependency_links to python_Levenshtein.egg-info/dependency_links.txt writing entry points to python_Levenshtein.egg-info/entry_points.txt reading manifest file 'python_Levenshtein.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching '*' under directory 'docs' warning: […]

为什么减法比Python中的加法更快?

我正在优化一些Python代码,并尝试了以下实验: import time start = time.clock() x = 0 for i in range(10000000): x += 1 end = time.clock() print '+=',end-start start = time.clock() x = 0 for i in range(10000000): x -= -1 end = time.clock() print '-=',end-start 第二个循环的速度可靠,从晶须到10%的任何地方,取决于我运行的系统。 我试着改变循环的顺序,执行次数等,而且它似乎仍然工作。 陌生人, for i in range(10000000, 0, -1): (即向后运行循环)比 for i in range(10000000): 即使循环内容相同。 是什么给了,这里有一个更一般的编程课?

使用Python的string.replace与re.sub

对于Python string.replace ,我应该使用string.replace还是re.sub进行基本的文本replace? 在PHP中,这是明确表示,但我找不到类似的Python注释。

素数打印机停在251,为什么?

我今天开始学习Python,并想出了创build一个打印所有素数从0到10000的程序的想法。我设法让我的程序打印出所有素数,直到251,在这一点上,它停止打印数字。 为什么这样做? 这里是代码: for numberToCheck in range(2,10000): divider = 2 while numberToCheck > divider: if numberToCheck % divider is 0: break else: divider += 1 if numberToCheck is divider: print(numberToCheck, "is a prime number.")