我有一个python脚本,它应该正常工作,但我需要编写执行时间.我用谷歌搜索了我应该使用timeit但我似乎无法让它工作.
我的Python脚本如下所示:
import sys
import getopt
import timeit
import random
import os
import re
import ibm_db
import time
from string import maketrans
myfile = open("results_update.txt", "a")
for r in range(100):
rannumber = random.randint(0, 100)
update = "update TABLE set val = %i where MyCount >= '2010' and MyCount < '2012' and number = '250'" % rannumber
#print rannumber
conn = ibm_db.pconnect("dsn=myDB","usrname","secretPWD")
for r in range(5):
print "Run %s\n" % r
ibm_db.execute(query_stmt)
query_stmt = ibm_db.prepare(conn, update)
myfile.close()
ibm_db.close(conn)
Run Code Online (Sandbox Code Playgroud)
我需要的是执行查询并将其写入文件所需的时间 …
我试图弄清楚如何将负无穷大的值赋给浮点数或双变量.似乎包括标准库限制,我可以获得无穷大表示,并且我知道(非常肯定)在前面添加一个减号(-infinity)可能会导致我在IEEE754浮点中寻找的值标准(因为0x7FFFFFFF可能会导致0xFFFFFFFF),但我甚至不确定,更不用说可能存在的其他标准(如果有的话).我发现它真的,非常不专业和依赖于实现.
当然,有没有一种方法可以独立获得负无限平台和实现的价值,否则我也可以使用#define,每个人都喜欢预处理.
我有一个vector<bool>,我想把它归零.我需要大小保持不变.
通常的方法是迭代所有元素并重置它们.但是,vector<bool>是一个特别优化的容器,根据实现,每个元素只能存储一位.有没有办法利用这个来有效地清除整个事物?
bitset,固定长度的变体,具有该set功能.是否vector<bool>有类似的东西?
有一个带有不同斜率的几条对角线的图.我想用一个与线条斜率相匹配的文本标签来注释这些线条.
像这样的东西:

有没有一种强有力的方法来做到这一点?
我已经尝试了旋转参数text和annotate旋转参数,但这些参数都是屏幕坐标,而不是数据坐标(即x无论xy范围如何,它都始终在屏幕上呈度数).我的x和y范围相差几个数量级,显然,明显的斜率受视口大小和其他变量的影响,因此固定度旋转不起作用.还有其他想法吗?
我有一个C++库,它有一个Python包装器(用SWIG编写).该库允许执行小的用户定义代码(回调),例如向量上的元素操作.即,而不只是一个+你可以做任意二进制函数.现在,这是通过接受二进制函数的可调用Python对象并调用它来实现的.它可以工作,但是比在每次迭代时都不需要在Python中反弹的代码慢大约80倍.
如何编写/构建/导入Cython函数可以传递到我的C++库中,以便它可以由C++库直接调用?
编辑: 如果我只是坚持C然后我会写类似的东西
EWise(double (*callback)(double, double))
Run Code Online (Sandbox Code Playgroud)
那么EWise就是callback(10, 20);这样的.我希望callback用Cython编写,使用用户想要的任何名称,并且必须通过Python以某种方式将指针传递给我的C++库.不知怎的,这是我不清楚的地方.
我有一个Python模块,它包含3个类:A,A1和A2.A1和A2源自A.A包含在A1和A2上运行的功能.
当它在一个.py文件中时,一切正常.但是该文件已经增长了很长时间,我想将A1和A2分成自己的文件.尽管存在循环依赖,我如何拆分此文件?
Apple彻底删除了他们曾经拥有的任何GCC支持.有没有办法在Xcode 5中使用最近的GCC(比如4.8)?换句话说,在Xcode中使用GCC代替LLVM.
我有一个需要用C++ 11编译的模块.在GCC和Clang上,这意味着一个std=c++11开关,或者std=c++0x在较旧的编译器上.
Python不是使用此开关编译的,因此Distutils在编译模块时不包含它.
使用distutils编译C++ 11代码的首选方法是什么?
我有一个兼容库,使用SWIG访问C++库.我觉得能够在这个层内创建一个SWIG包装的Python对象是有用的(而不是接受C++对象作为参数或返回一个).即我希望PyObject*它指向SWIG包装的C++对象.
我发现这个SWIG_NewPointerObj功能确实如此.SWIG生成的xx_wrap.cpp文件使用此函数,但它也在发出的标头中可用swig -python -external-runtime swigpyrun.h
但是,我找不到任何关于此函数的最后一个参数的引用.它似乎指定了对象的所有权,但没有文档说明每个选项的含义(甚至是它们都是什么).看来以下是可接受的值:
我想创建一个仅在我的包装层中使用的对象.我想用我自己的指向C++对象的指针创建它(所以我可以改变C++对象的值并将它反映在Python对象中.我需要它,所以它可以传递给Python回调函数.我想要在程序的整个生命周期中保留这一个实例,这样我就不会浪费时间为每个回调创建/销毁相同的对象.哪个选项合适,我该怎么办Py_INCREF?
我有一个setup.py脚本需要探测编译器的某些东西,如对TR1的支持,windows.h的存在(添加NOMINMAX定义)等等.我通过创建一个简单的程序并尝试编译来做这些检查它与Distutils的编译器类.存在/没有错误是我的答案.
这很好用,但这意味着编译器的丑陋错误消息会打印到控制台.有没有办法在compile手动调用函数时抑制错误消息?
这是我的函数,它试图编译程序,现在通过将错误流传递给文件来消除错误消息(回答我自己的问题):
def see_if_compiles(program, include_dirs, define_macros):
""" Try to compile the passed in program and report if it compiles successfully or not. """
from distutils.ccompiler import new_compiler, CompileError
from shutil import rmtree
import tempfile
import os
try:
tmpdir = tempfile.mkdtemp()
except AttributeError:
# Python 2.2 doesn't have mkdtemp().
tmpdir = "compile_check_tempdir"
try:
os.mkdir(tmpdir)
except OSError:
print "Can't create temporary directory. Aborting."
sys.exit()
old = os.getcwd()
os.chdir(tmpdir)
# Write the program
f = open('compiletest.cpp', 'w')
f.write(program)
f.close()
# …Run Code Online (Sandbox Code Playgroud)