我测试用的PyQt和我建立了一个GUI想使用被PyQt的事件循环开始后执行的Python代码(与GUI交互的能力app.exec_())。说这句话的另一种方式是,我想调用app.exec_立即返回,就好像gui是无模式的,随后是与gui交互的其他python代码。
我发现了在线程中运行PyQt循环的这个示例,但是不想做一些非常规的事情。有没有办法让PyQt消息循环继续处理消息,同时在exec_调用后还在主线程中执行python代码?
我有这样的模型:
class Test(db.Model, UnicodeMixin):
__tablename__ = 'test'
id = db.Column(db.Integer, primary_key=True)
subject = db.Column(db.String(512), nullable=False)
additional = None
def __unicode__(self):
return u'<Test {0}>'.format(self.id)
Run Code Online (Sandbox Code Playgroud)
有些代码很难SELECT从db中使用其他动态数据来生成RAW SQL 。
例如,它像:
db.session.query(Test).from_statement("SELECT test.id AS test_id, test.subject AS test_subject, 99 AS additional FROM test").all()
Run Code Online (Sandbox Code Playgroud)
它生成python对象的列表Test,但是如何填充additional这些python对象的属性?
我不想在数据库中存储NULL列additional。
我想用SQL创建动态附加数据并将其添加到python对象。
请帮忙。
谢谢。
请帮助getpath()在getpath()xpath 中返回完整的标签名称或找到解决方法
我正在尝试为lxml.etree._ElementTree. ElementTree通过解析来自某些生产 WebService 的 600Kb 响应生成。
print elem.getroottree().getpath(elem)
Run Code Online (Sandbox Code Playgroud)
这是我得到的结果:
'/S:Envelope/S:Body/ns5:getPhysicalResponse/*[18]/*[12]/*[6]/*[2]'
Run Code Online (Sandbox Code Playgroud)
不幸的是,我无法发布原始 xml - 它包含专有的客户信息。此外,我尝试使用自动生成的具有 100 个嵌套级别的简单元素树来重现此结果,每个级别有 100 个子级,但没有运气 -getpath()返回带有完整标签名称的 xpath。
更新
查看lxml 源代码- 它指向库中的tree.h xmlGetNodePath方法libxml2。所以这实际上是libxml2行为。
更新 做更多的测试,我发现每次标签具有非默认命名空间时都会发生这种情况。
我一直在讨论是否应该有一个专门存放MetaData在熊猫中的地方DataFrame,我个人觉得这个功能非常有用.
在未来的版本中实现之前,我一直在寻找2个解决方法,但它们中没有一个看起来真的令人满意.
由于我不能继承一个类DataFrame,我试图创建一个MyDataFrame包含a DataFrame并实现所有方法的类__add__,__mul__但是,考虑到可用于操作DataFrame的方法数量,这似乎是一种乏味的方法.
此外,我操作的数据源自物理硬件(频谱分析仪,示波器......),原则上,我希望有一组与数据帧的每一列相关联的元数据(测量带宽,平均数......).需要编码以保持与DataFrame结构一一对应的结构看起来很复杂(如果DataFrame得到转置怎么办?)
我发现一个优雅的解决方案是使用自定义对象而不是通常的Series对象名称.这些"MetaIndex"基本上是一个字符串+元数据,它将取代通常的列标签my_dataframe.columns.类定义看起来像这样:
class MetaIndex:
def __hash__(self):
return self.str.__hash__()
def __eq__(self,other):
return self.str == str(other)
def __init__(self,st):
self.str = format_name(st)
self._meta = MetaData()
def __repr__(self):
return self.str
def __str__(self):
return self.str
Run Code Online (Sandbox Code Playgroud)
然后,当我保存DataFrame(在hdf5文件中)时,我将其更改MetaIndex为常规字符串,并分别保存每个列的元数据,当我加载数据时,我重新实例化数据帧的列,例如:
s.replace_names_by_meta_index()
for c in s.columns:
col = s[c]
if col.meta is not None:
col.meta.set(**f["meta"][str(c)])
Run Code Online (Sandbox Code Playgroud)
1)您是否认为这是一种可行的方法,或者这是一种边际和危险的方法?
2)此外,一个非常诱人的扩展是使MetaIndex继承自str.这样,自动完成仍然适用于IPython(my_dataframe.col1).然而,在这种情况下,一些简单的操作,如my_dataframe.T.T使 …
我正在使用并行python executePipeline多次执行一个大函数().此功能也使用多处理(使用multiprocessing模块).
我使用并行python模块在我的控制台上正确显示日志消息时遇到了一些麻烦.当我不使用它时,日志消息很好地显示.
下面是它的工作原理.我有一个服务器每次从客户端收到请求时都会调用一个worker:
job = self.server.job_server.submit(func = executeWorker, args = (config, ) )
Run Code Online (Sandbox Code Playgroud)
每次有来自客户端的新请求时,都会从新线程执行此函数.然后,worker正在executePipeline使用多处理调用正在执行不同processus 的函数.
SocketServer.TCPServer我使用线程的服务器.我使用根记录器在服务器中设置了一个记录器:
self.logger = logging.getLogger()
self.logger.setLevel(logging.INFO)
self.logger.addHandler(logging.StreamHandler()
self.job_server = pp.Server(ncpus = 8) # for test
self.jobs = []
Run Code Online (Sandbox Code Playgroud)
当我运行我的服务器时,我只能从而executePipeline不是从子进程获取日志记录.此外,我只在作业结束时才记录执行管道,而不是在运行时.
这里还有工人代码.在"Executing pipeline with worker number "很好地显示在我的终端
'''
Setup logging
'''
logger = logging.getLogger()
logger.setLevel(logging.INFO)
# worker name
publicIP = socket.gethostbyname(socket.gethostname())
pid = os.getpid()
workerID = unicode(str(publicIP) + ":" + str(pid))
logger.info( "Executing pipeline with worker {}".format(workerID)) …Run Code Online (Sandbox Code Playgroud) 我相信我没有正确安装我的C编译器.我正在尝试在我的Windows 8机器上安装一些Python 2.7软件包.我一直收到以下错误:
RuntimeError:破坏的工具链:无法链接简单的C程序.
Python安装正确,并且定期运行良好.我一直在使用该virutalenv软件包并在虚拟环境中工作.然后我尝试安装Cygwin,MinGW和MS Visual Studios 2012,这些似乎都没有virtualenv.我不确定我做错了什么,任何帮助都会很棒.
谢谢你,吉米
每次使用 PyAudio 播放声音时,我都会收到错误消息,并且无法抑制它们。
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
Cannot connect to server socket err = No such file or …Run Code Online (Sandbox Code Playgroud) 对于 Pandas:df.merge()方法,是他们获取合并摘要统计信息(例如匹配数、不匹配数等)的便捷方法。我知道这些统计数据取决于标志how='inner',但是知道使用内部联接等时“丢弃”了多少内容会很方便。我可以简单地使用:
df = df_left.merge(df_right, on='common_column', how='inner')
set1 = set(df_left[common_column].unique())
set2 = set(df_right[common_column].unique())
set1.issubset(set2) #True No Further Analysis Required
set2.issubset(set1) #False
num_shared = len(set2.intersection(set1))
num_diff = len(set2.difference(set1))
# And So on ...
Run Code Online (Sandbox Code Playgroud)
但认为这可能已经实施了。我是否错过了它(即类似report=True会返回的合并new_dataframe以及报告系列或数据框)
我想构建一个使用Flask框架开发的python API,该框架使用Kafka主题并将流推送到客户端(html页面或其他应用程序)。
我试图用虚拟数据生成实时流(请参见下面的实时路由)。发生的问题result是仅在循环完成后才推送result变量,而变量应在每次迭代时推送。
我还尝试通过Kafka连接生成实时流(请参见下面的kafka路由)。问题是没有数据返回,而是请求没有完成。
from flask import Response, Flask
import time
from kafka import KafkaConsumer
application = Flask(__name__)
@application.route('/')
def index():
return "Hello, World!"
@application.route('/realtime/')
def realtime():
def createGenerator():
for i in range(1,10):
yield str(i) + '\n'
time.sleep(0.2)
return Response(createGenerator())
@application.route('/kafka/')
def kafkaStream():
consumer = KafkaConsumer(bootstrap_servers = 'serverlocation',
client_id = 'name of client',
auto_offset_reset = 'earliest',
value_deserializer = lambda m: json.loads(m.decode('ascii')))
consumer.subscribe(topics=['my-topic'])
def events():
result = []
for message in consumer:
if message is not None: …Run Code Online (Sandbox Code Playgroud) 我找到了boto + MFA的示例:
http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_sample-code.html
但是我找不到如何使用boto3的示例。任何等效的boto3示例?
谢谢!