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

在python tcp服务器和c客户端之间交谈【代码】

我在尝试在python TCP服务器和c TCP客户端之间进行通信时遇到问题.在第一个呼叫正常运行之后,后续的呼叫会引起问题. 就WinSock而言,send()函数正常工作,它返回正确的长度,而WSAGetLastError()不返回任何有意义的东西. 但是,当使用wireshark观察数据包时,我注意到第一个调用发送了两个数据包,其中包含所有数据的PSH,ACK,以及紧随其后的ACK,但是随后的调用(不起作用)仅发送PSH,ACK数据包,而不是后续的ACK数据包 接收方计算机的wiresh...

在Python C API中使用多个模块/类型?【代码】

我有两个不同的Python扩展模块;我们将它们称为A和B.模块A包含一个称为容器的存储类类型,我想在模块B中使用它作为类方法的返回类型. 我似乎找不到任何有关如何执行此操作的文档.我大致按照本文来创建模块/类,只是我没有将所有方法都声明为静态方法,因此可以访问它们:http://nedbatchelder.com/text/whirlext.html 然后我的问题是,如何创建一个容器实例,该实例可以作为模块B中类方法的PyObject *返回值传递回去?容器定义如下所示:...

您可以像在C#/ Java中那样在逻辑上将python项目分离为单独的文件/类吗?

我正在寻找一个用python开发的项目,而我所做的所有python都是小的脚本,与类或结构无关.我对此了解不多,所以这是完成了更大的python项目吗? 另外,在这个领域中是否存在诸如“命名空间”和“项目”之类的东西?以及诸如从其他类继承的面向对象原理?解决方法:是的,您可以,而且应该!

Python的C API和__add__调用【代码】

我正在编写一个绑定系统,以一种稍微不寻常的方式将类和函数公开给python. 通常,将创建一个python类型并提供代表该类型方法的函数列表,然后允许python使用其通用tp_getattro函数选择正确的函数. 出于某种原因,我将不打算这样做,并且必须提供自己的tp_getattro函数,该函数从其他位置选择方法并返回我自己的“绑定方法”包装器.这很好用,但是意味着类型方法未在其字典中列出(因此dir(MyType())不会显示任何有趣的内容). 问题是我似乎无...

PyArg_ParseTuple()“ s”格式说明符在Python 3.x C API中有用吗?【代码】

我正在尝试编写一个处理字节字符串的Python C扩展,并且我有一些基本适用于Python 2.x和Python 3.x的东西. 对于Python 2.x代码,在函数开始附近,我当前有一行:if (!PyArg_ParseTuple(args, "s#:in_bytes", &src_ptr, &src_len))...我注意到s#格式说明符同时接受Unicode字符串和字节字符串.我真的只希望它接受字节字符串并拒绝Unicode.对于Python 2.x,这可能“足够好”-标准的hashlib似乎也可以做到这一点,接受Unicode以及字节字符串...

如何将IronPython实例方法传递给类型为`Func`的(C#)函数参数【代码】

我正在尝试将IronPython实例方法分配给C#Func< Foo>.参数. 在C#中,我将有一个类似的方法:public class CSharpClass {public void DoSomething(Func<Foo> something){var foo = something()} }并从IronPython这样调用它:class IronPythonClass:def foobar(self):return Foo() CSharpClass().DoSomething(foobar)但我收到以下错误: TypeError:预期的Func [Foo],具有instancemethod解决方法:好.我想我可能已经找到了解决方案:imp...

c#-具有可变数量的参数的IronPython函数作为委托【代码】

在IronPython中,我尝试使用来自C#的不同数量的参数调用PythonFunction.例如; 我想要做:def foo(a, b):print a, bdef bar(a, b, c = None):print a, b, cp = App.DynamicEvent() p.addHandler(foo) p.addHandler(bar) p.invoke("Not", "Working")其中addHandler接受一个参数,并以某种方式将其存储在要调用的方法列表中,并且invoke具有如下签名:public virtual void invoke(params object[] tArgs)因为我想避免使其特定于PythonEng...

如何使用Crypto解密C语言中的字符串数据,其中原始字符串使用pyCrypto在Python中加密【代码】

我刚刚使用pyCrypto轻松加密了数据字符串,但是不知道如何在crypto中解密它.任何人都可以帮助使用C语言编写带有密码的示例解密代码吗?这是我的python代码:key = '0123456789abcdef' data = "aaaaaaaaaaaaaaaa" iv = ''.join(chr(random.randint(0, 0xFF)) for i in range(16)) encryptor = AES.new(key, AES.MODE_CBC, iv) enc = encryptor.encrypt(data)解决方法:这段代码来自2005年的示例,但是应该为您提供一个良好的起点:...

C#调用Python(二)【图】

python文件中有引入其他包、模块 一、源码 1.1 python源码,源码、python 打包方法,以及打包后的程序文件。请移步https://www.cnblogs.com/zhuanjiao/p/11588346.html 获取。这里就不重复贴了。 1.2 C#源码using System.Diagnostics;namespace TestClass {public class RBoot{public void StartBoot(){string path = @"D:\PyCharm\source\Study\dist\RBoot.exe";using (Process proc = new Process()){proc.StartInfo.FileNam...

从Python到CIL(C中间语言)的翻译

我最近在Python源代码上进行了静态分析.我们小组中已经有用Ocaml编写的CIL(C中间语言)静态分析器.我们要重用此分析器,因此我们的理想方法是将Python转换为CIL. 当前,我使用Python内置的ast模块将Python解析为Python AST.然后,我将ast.dump打印的Python AST转换为C AST.考虑到C AST to CIL API和静态分析器均以Ocaml编写.我选择Ocamllex& Ocamlyacc将Python AST解析为C AST.但是,存在一些大问题. ast.dump打印的AST表示形式很难识别...

python-反序列化C数据【代码】

我正在通过网络从C服务器到Python客户端接收结构.该协议是UDP.我无法控制服务器及其协议/数据格式.它由以下结构组成(是,一个IPv4端口):struct ip_s {uint8_t i1;uint8_t i2;uint8_t i3;uint8_t i4;uint16_t port; // big endian };除了转换为big-endian的端口外,数据还按“原样”发送,并转换为(char *). 如何接收此结构为Python可处理的格式? 其他信息: > Python 2.7或3.x>跨平台>最好仅使用内置模块的解决方案解决方法:调查str...

python-Ctrl-C不会中断semaphore.acquire【代码】

while True:try:queries_semaphore.acquire()query = queries.pop(0)# Do some stuff ...info('Query executed: `%s\'' % str(query))except KeyboardInterrupt:okay('quit')break问题在于,仅在querys_semaphore.acquire()返回之后才引发KeyboardInterrupt,因此用户无法使用Ctrl-C来中断程序.在这种情况下,什么是好的解决方案?解决方法:我将为query_semaphore.acquire()部分创建另一个线程,并保留主线程与用户交互.如果用户按Ctrl...

如何使用Python优雅地发送/接收大型C结构?【代码】

我已经开始编写Python 3.x客户端应用程序.服务器应用程序已经存在并且用C编写.服务器提供了一个C头文件,其中定义了两个用于通过UDP发送和接收数据的结构(我正在使用Python的套接字模块).问题在于C结构非常大(每个大约200个元素).如果我使用Python的struct模块打包/拆包数据,那么不太好的解决方案是手动打包/拆包200个元素,例如:struct.pack('H...I', data1, ..., data200)此外,我希望能够使用类似C的语法访问Python中的已接收/已发...

python-PyPy C / API访问

我一直在浏览参考文档,找不到关于PyPy的C API的任何提及.是否存在?如果是这样,它是否与CPython C API相同?如果PyPy在CPython之上运行,会改变这一点吗?解决方法:PyPy通过称为CPyExt的仿真层为CPython扩展API提供了alpha-level support.这是blog post introducing the support;这里是a later one discussing it.如果您的目标是与C库连接,那么最好编写一个使用ctypes对其进行调用的Python包装器模块. 在CPython上运行PyPy将无济于...

python-使用C-API在Numpy数组中反转轴

我正在使用Python C-API将一些C代码包装为Python包.最后,我必须反转一个numpy数组中的轴,即 x = x [:, ::-1] 是否可以使用Numpy C-API进行此操作?我知道有一些用于转置和交换轴的例程,但是我对索引的了解并不多.有任何想法吗?谢谢,安迪解决方法:由于Python中的索引只是调用对象的__getitem __()方法的语法糖(即x [:, ::-1]等效于x .__ getitem __((slice(None),slice(None,None,-1)) )),您只需要构造所需的切片对象,并以正确的顺...