Questions tagged «python»

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

10
有没有一种pythonic的方法可以尝试最大次数的尝试?[重复]
这个问题已经在这里有了答案: Python:尝试三次函数,直到全部失败 (3个答案) 4个月前关闭。 我有一个python脚本正在查询共享Linux主机上的MySQL服务器。出于某种原因,对MySQL的查询通常会返回“服务器已消失”错误: _mysql_exceptions.OperationalError: (2006, 'MySQL server has gone away') 如果此后立即再次尝试查询,通常会成功。因此,我想知道python中是否有一种明智的方法来尝试执行查询,如果失败,则可以重试固定次数的尝试。可能我想让它尝试5次再完全放弃。 这是我的代码类型: conn = MySQLdb.connect(host, user, password, database) cursor = conn.cursor() try: cursor.execute(query) rows = cursor.fetchall() for row in rows: # do something with the data except MySQLdb.Error, e: print "MySQL Error %d: %s" % (e.args[0], e.args[1]) 显然,我可以通过在except子句中进行另一次尝试来做到这一点,但这非常丑陋,而且我觉得必须有一种不错的方法来实现这一目标。

6
在Python中将以分号分隔的字符串拆分为字典
我有一个看起来像这样的字符串: "Name1=Value1;Name2=Value2;Name3=Value3" Python中是否有内置类/函数将采用该字符串并构造一个字典,就像我已经做过的那样: dict = { "Name1": "Value1", "Name2": "Value2", "Name3": "Value3" } I have looked through the modules available but can't seem to find anything that matches. Thanks, I do know how to make the relevant code myself, but since such smallish solutions are usually mine-fields waiting to happen …

2
如何在matplotlib中使用imshow将NaN值绘制为特殊颜色?
我正在尝试在matplotlib中使用imshow将数据绘制为热图,但其中一些值为NaN。我希望将NaN渲染为在颜色图中找不到的特殊颜色。 例: import numpy as np import matplotlib.pyplot as plt f = plt.figure() ax = f.add_subplot(111) a = np.arange(25).reshape((5,5)).astype(float) a[3,:] = np.nan ax.imshow(a, interpolation='nearest') f.canvas.draw() 生成的图像出乎意料地是全蓝色(喷射彩色图中的最低颜色)。但是,如果我像这样作图: ax.imshow(a, interpolation='nearest', vmin=0, vmax=24) -然后我得到了更好的结果,但是NaN值的绘制颜色与vmin相同...是否有一种优美的方式可以将NaN设置为使用特殊颜色绘制(例如:灰色或透明)?
84 python  matplotlib  nan 

7
内联列表以在python MySQLDB IN子句中使用
我知道如何将列表映射到字符串: foostring = ",".join( map(str, list_of_ids) ) 而且我知道我可以使用以下命令将该字符串放入IN子句中: cursor.execute("DELETE FROM foo.bar WHERE baz IN ('%s')" % (foostring)) 我需要使用MySQLDB安全地完成同一件事(避免SQL注入)。在上面的示例中,由于foostring没有作为执行参数传递,因此它很容易受到攻击。我还必须在mysql库之外引用和转义。 (有一个相关的SO问题,但是那里列出的答案对MySQLDB不起作用或容易受到SQL注入的影响。)
84 python  mysql 


2
在Pandas DataFrame对象中重新定义索引
我正在尝试重新索引熊猫DataFrame对象,像这样, From: a b c 0 1 2 3 1 10 11 12 2 20 21 22 To : b c 1 2 3 10 11 12 20 21 22 我正在如下所示进行操作,并且得到了错误的答案。有关如何执行此操作的任何线索? >>> col = ['a','b','c'] >>> data = DataFrame([[1,2,3],[10,11,12],[20,21,22]],columns=col) >>> data a b c 0 1 2 3 1 10 …

2
python 3中的yield generator中没有next()函数
在这个问题中,我有一个使用Python生成器的无尽序列。但是相同的代码在Python 3中不起作用,因为似乎没有next()功能。该next功能的等效功能是什么? def updown(n): while True: for i in range(n): yield i for i in range(n - 2, 0, -1): yield i uptofive = updown(6) for i in range(20): print(uptofive.next())

4
进口订单编码标准
PEP8建议: 导入应按以下顺序分组: 标准库导入 相关第三方进口 本地应用程序/特定于库的导入 您应该在每组导入之间放置一个空白行。 有没有一种方法来检查,如果该标准违反了使用静态代码分析工具包的任何地方,比如pylint,pyflakes,pychecker,pep8? 违规示例: from my_package import my_module from django.db import models import os 正确的导入方式: import os from django.db import models from my_package import my_module

3
为什么bool是int的子类?
通过python-memcached将布尔存储在memcached中时,我注意到它以整数形式返回。检查库中的代码后,我发现有一个地方isinstance(val, int)可以将值标记为整数。 因此,我在python shell中对其进行了测试,并注意到以下内容: >>> isinstance(True, int) True >>> issubclass(bool, int) True 但是,为什么确切地是bool的子类int呢? 这是有道理的,因为布尔值基本上是一个int,它可以只接受两个值,但比实际整数(不需要算术,只需要一点存储空间)就需要更少的操作/空间。
84 python  boolean 

2
Virtualenv和源代码版本控制
我最近开始了一个Django项目,并很快意识到,由于多种原因,virtualenv真的很有用。我设置了virtualenv和我的项目,但是现在我想知道应该将哪个文件添加到源代码管理(在我的情况下是Mercurial)。我应该在venv文件夹下添加所有文件吗?如何确保同事可以克隆并立即开始工作而无需再次设置环境?

13
用Python减去2个列表
现在我有vector3值表示为列表。有没有一种方法可以减去其中两个类似的vector3值,例如 [2,2,2] - [1,1,1] = [1,1,1] 我应该使用元组吗? 如果没有一个在这些类型上定义这些操作数,我可以改为定义它吗? 如果没有,我应该创建一个新的vector3类吗?
84 python  list  tuples  vector 

5
从列表中获取随机样本,同时保持项目排序?
我有一个排序的列表,可以说:(它不仅是数字,它是使用复杂的耗时算法排序的对象的列表) mylist = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ,9 , 10 ] 是否有一些python函数可以给我N个项目,但会保持顺序? 例: randomList = getRandom(mylist,4) # randomList = [ 3 , 6 ,7 , 9 ] randomList = getRandom(mylist,4) # randomList = [ 1 , 2 , …


10
CSV阅读器(Python)中的“行包含NULL字节”
我正在尝试编写一个程序,该程序查看.CSV文件(input.csv)并仅重写以某个元素(corrected.csv)开头的行,如文本文件(output.txt)中所列。 这是我的程序现在的样子: import csv lines = [] with open('output.txt','r') as f: for line in f.readlines(): lines.append(line[:-1]) with open('corrected.csv','w') as correct: writer = csv.writer(correct, dialect = 'excel') with open('input.csv', 'r') as mycsv: reader = csv.reader(mycsv) for row in reader: if row[0] not in lines: writer.writerow(row) 不幸的是,我一直收到此错误,而且我不知道它是什么。 Traceback (most recent call last): …
84 python  csv 

8
gnuplot和Matplotlib
我已经开始使用gnuplot-py绘制Tomcat日志的项目,特别是将特定请求与内存分配和垃圾回收相关联。gnuplot-py和Matplotlib用于Python图形化的集体智慧是什么?我还没有听说过更好的图形库吗? 我的一般考虑是: 尽管gnuplot有大量文档,但gnuplot-py没有。Matplotlib的文档社区有多好? gnuplot是否可以执行某些操作,但是gnuplot-py无法执行? Matplotlib是否有更好的Python支持? 两者中是否都设有大型表演来阻止错误?烦恼? 目前,gnuplot正在绘制100,000个点的图形,我正计划将其扩展到数百万个。我应该期待问题吗?Matplotlib处理得如何? 易于使用,gnuplot与Matplotlib的周转时间如何? 将现有的gnuplot-py代码移植到Matplotlib有多容易? 您将如何处理此任务?

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.