【Python -- dict 类】教程文章相关的互联网学习教程文章

c – 用boost.python交换numpy数组:pyublas或boost.numpy?【代码】

我正在通过py++/boost.python将C数据密集库与Python连接起来.在对我的程序进行概要分析后,我发现70%的运行时间花费在这样的代码上:ni = range(v2o.getHits()) tau = np.array([v2o.TofCorrectedTime[i] for i in ni]) q = [v2o.getCharge()[i] for i in ni]v2o.TofCorrectedTime从py输入__array_1_float_2368. v2o.getCharge()也是从py类型_impl_details_range_iterator_.大小约为2000,从这些py数组包装器到numpy的转换很慢:In ...

如何使用swig在operator []中扩展python中的c类【代码】

我有一个简单的test.h文件和我自己的数组类(使用标准的矢量类):#include <vector> #include <string>using namespace std;class Array1D{ private:vector<double> data_; int xsize_; public:Array1D(): xsize_(0) {};// creates vector of size nx and sets each element to tArray1D(const int& nx, const double& t): xsize_(nx) {data_.resize(xsize_, t);}double& operator()(int i) {return data_[i];}const double& opera...

C(nanomsg)和Python(非nanomsg)之间的套接字连接【代码】

我在C中创建了一个套接字服务器(使用nanomsg),它将通过TCP与Python脚本(使用标准的“Socket”实现)进行通信: C代码(无错误处理):#include <nanomsg/nn.h> #include <nanomsg/pair.h> ... char buf[23]; ... socket = nn_socket(AF_SP, NN_PAIR); nn_bind(socket, "tcp://127.0.0.1:xxxxx"); ... nn_recv(socket, buf, sizeof(buf), 0); ... nn_shutdown(socket, endpoint_id);Python的代码:s = socket.socket(socket.AF_INET, ...

将值从c发送回python【代码】

我想我的问题相当简单,但我无法找到解决问题的方法.我的流程如下: >我运行一个Python脚本:Test.py.>在该脚本中,我正在调用一个c程序. Test.py:RunCprogram = "./Example" os.system(RunCprogram)我想要./Example可执行文件返回一个可以在我的Python脚本中使用的double.最好的方法是什么?解决方法:这是一个基于@ForceBru答案的小例子: example.cpp,用g example.cpp -o example编译#include <iostream>int main() {std::cout <<...

从Python调用C Math函数的高效解决方案【代码】

我听说过从Python代码调用C函数的不同方法,比如ctypes,cython,swig,Boost.python等.当然,每个方法都有优缺点.我的问题是关于效率.我需要从Python调用C数值函数.这种C函数的典型示例是:double f(double x){return sin(x)+cos(x)-pow(2,x) + x*x; }调用需要在一次运行中迭代2000-200000次. 在这种情况下,我应该使用哪种C-> Python变换器?解决方法:调用用C实现的函数不会神奇地使程序运行得更快.不执行用Python编写的代码可能会加速...

你如何从C程序运行python脚本?【代码】

我已经能够找到一些我知道你需要包含Python.h并且你需要拥有的东西Py_Initialize(); //code that runs the python script Py_Finalize();打开和关闭翻译,但中间部分让我失去了.我可以在主题上找到的大多数信息使用带有一些参数的Py_SimpleString()命令.我一直在寻找,但我找不到任何明确解释该命令正在做什么或如何使用它的文档. 我不一定需要python脚本直接将值传递给C程序.它正在写入文本文件,C只能解析文本文件所需的部分.我只需...

无法在C#中获得与python中相同的哈希值【代码】

我有一个字符串,我需要哈希才能访问API. API创建者在Python中提供了一个代码片段,其代码如下:hashed_string = hashlib.sha1(string_to_hash).hexdigest()使用此散列字符串访问API时,一切都很好.我试图在C#中获得相同的散列字符串结果,但没有成功.我已经尝试了很多方法但到目前为止还没有任何工作.我知道hexdigest部分以及我在试图模仿行为时记住了这一点. 有谁知道如何在C#中获得相同的结果? 编辑:这是我尝试在C#中重现相同结果...

c – 如何返回包含PyObject *的boost :: python :: tuple?【代码】

我目前有一个boost.python类,用于从basler相机获取图像,将它们转换为opencv图像,并将它们作为python脚本的numpy数组返回. 我原来有以下代码工作:PyObject *capture(){PyObject * ret;CGrabResultPtr ptrGrabResult;CPylonImage pylonImage;Mat image;//timer t;try{// Set timer to 0//t.reset();// get a pointer to pylon imagecamera->RetrieveResult( 50000, ptrGrabResult, TimeoutHandling_ThrowException);// Get dimensio...

Python:将ip地址打包为ctype.c_ulong()以与DLL一起使用【代码】

给出以下代码:import ctypes ip="192.168.1.1" thisdll = ctypes.cdll['aDLL'] thisdll.functionThatExpectsAnIP(ip)我怎样才能正确地将其打包为期望它作为c_ulong数据类型的DLL? 我尝试过使用:ip_netFrmt = socket.inet_aton(ip) ip_netFrmt_c = ctypes.c_ulong(ip_netFrmt)但是,c_ulong()方法返回错误,因为它需要一个整数. 有没有办法使用struct.pack来实现这一目标?解决方法:inet_aton返回一个字节字符串.这曾经是C语言...

C入门(Python的范式转换)

我想学习C,以便我可以为服务器相关的东西开发C Python模块. 我是一个纯粹的动态语言开发人员(Python,PHP,Ruby等).我想学习一门快速的语言,如果我要这样做,我宁愿学习像C这样快速的语言.在我开始之前,我明白突然使用静态类型,不同的语法和编译代码将是相当的范式转换.是否有任何建议表明,拥有动态语言经验的C dev可以帮助我帮助我更快地完成这一转变?解决方法:我怀疑是否有任何具体的建议可以给出,除了你必须阅读权威作者或作者写的...

端口C对Python的fread(&struct,…)【代码】

嘿,我真的很挣这个.我试图将一小部分别人的代码移植到Python,这就是我所拥有的:typedef struct {uint8_t Y[LUMA_HEIGHT][LUMA_WIDTH];uint8_t Cb[CHROMA_HEIGHT][CHROMA_WIDTH];uint8_t Cr[CHROMA_HEIGHT][CHROMA_WIDTH]; } __attribute__((__packed__)) frame_t;frame_t frame;while (! feof(stdin)){fread(&frame, 1, sizeof(frame), stdin);// DO SOME STUFF}后来我需要像这样访问数据:frame.Y [x] [y] 所以我在Python中创建了...

基于Python的软件是否被认为不如C /编译软件专业?

我正在为一些我计划有一天销售的软件开发插件.我正在制作的软件包含C SDK和Python SDK. C SDK文档在某些区域中显示不完整,并且没有很好地记录. Python SDK文档看起来更完整,通常更容易使用. 所以我试图决定是否要解决构建C插件而不是Python插件的潜在问题.关于唯一让我想要做C插件的事情是,在我看来,“C插件”可能比“Python插件”更容易销售.许多程序员甚至都不认为编写Python是真正的“编程”. 您是否认为潜在客户可能会说“为什...

c – 在多线程程序中同步嵌入式Python【代码】

以下是在多线程程序中使用Python解释器的示例:#include <python.h> #include <boost/thread.hpp>void f(const char* code) {static volatile auto counter = 0;for(; counter < 20; ++counter){auto state = PyGILState_Ensure();PyRun_SimpleString(code);PyGILState_Release(state);boost::this_thread::yield();} }int main() {PyEval_InitThreads();Py_Initialize();PyRun_SimpleString("x = 0\n");auto mainstate = PyEval_S...

java – CTRL-C在Python中的表现不同【代码】

我最近开始学习Python(这里是Java程序员),目前正在编写一些简单的服务器程序.问题是,对于看似相似的代码片段,Java副本正确响应SIGINT信号(Ctrl C),而Python则没有.当使用单独的线程生成服务器时,可以看到这种情况.代码如下:// Java codepackage pkg;import java.io.*; import java.net.*;public class ServerTest {public static void main(final String[] args) throws Exception {final Thread t = new Server();t.start();}}cl...

如何设置python代码段可以在c程序中运行的环境?【代码】

我在我的主目录中创建了两个文件embed.py useEmbed.cppin. embed.pyimport osprint os.getcwd()useEmbed.cpp#include <iostream>#include "Python.h"using namespace std;int main(){Py_Initialize();PyRun_SimpleFile("embed.py");Py_Finalize();return 0;}命令g useEmbed.cpp -o useEmbed返回未找到的Python.h,我应该怎样做才能使.cpp文件成功编译并返回正确的答案?感谢有关如何设置环境以使此测试正常的提示. 谢谢! 更新:感谢...