草庐IT

points_into_buffer

全部标签

python - Python 命令行脚本中 'script' 与 'entry_point' 的优缺点

Python的setuptool有两种向Python包添加命令行脚本的方法:script和entry_point。Thistutorial概述了这些方式:脚本将Python脚本(funniest-joke)添加到包树中,并将其路径添加到setup.py:setup(...scripts=['bin/funniest-joke'],...)入口点:将Python脚本(funnie-joke)添加到包树中。添加一个main()函数,并添加运行最有趣的main()的command_line.py子模块:command_line.py:importfunniestdefmain():print

python - 如何使用 Python 和 Google 的 Protocol Buffer 来反序列化通过 TCP 发送的数据

我正在尝试编写一个应用程序,该应用程序使用Google的ProtocolBuffer通过TCP连接反序列化数据(使用ProtocolBuffer从另一个应用程序发送)。问题是它看起来好像Python中的ProtocolBuffer只能反序列化字符串中的数据。由于TCP没有明确定义的消息边界,并且我尝试接收的其中一条消息具有重复字段,因此在最终传递要反序列化的字符串之前,我不知道要尝试接收多少数据。在Python中有什么好的做法吗? 最佳答案 不要只是将序列化的数据写入套接字。首先发送一个包含序列化对象长度的固定大小字段。发送方大致是

python / Pandas : how to combine two dataframes into one with hierarchical column index?

我有两个如下所示的数据框:>>>df1AB2000-01-011.41.42000-01-021.7-1.92000-01-03-0.2-0.8>>>df2AB2000-01-010.6-0.32000-01-02-0.40.62000-01-031.1-1.0如何使用下面的分层列索引从这两个数据帧中创建一个数据帧?df1df2ABAB2000-01-011.41.40.6-0.32000-01-021.7-1.9-0.40.62000-01-03-0.2-0.81.1-1.0 最佳答案 这是一个文档示例:http://pandas

python - 网络x : Convert multigraph into simple graph with weighted edges

我有一个多图对象,并希望将其转换为带有加权边的简单图对象。我查看了networkx文档,似乎找不到一个内置函数来实现这一点。我只是想知道是否有人知道networkx中可以实现此目标的内置功能。我查看了to_directed()、to_undirected()函数,但它们不符合我的目标。 最佳答案 一种非常简单的方法就是将您的多重图作为输入传递给Graph。importnetworkxasnxG=nx.MultiGraph()G.add_nodes_from([1,2,3])G.add_edges_from([(1,2),(1,2),

python - 在 pandas 中读取 csv 文件时出错[CParserError : Error tokenizing data. C 错误 : Buffer overflow caught - possible malformed input file.]

所以我尝试从一个文件夹中读取所有csv文件,然后将它们连接起来创建一个大csv(所有文件的结构相同),保存并再次读取。所有这些都是使用Pandas完成的。读取时发生错误。我在下面附上代码和错误。importpandasaspdimportnumpyasnpimportglobpath=r'somePath'#useyourpathallFiles=glob.glob(path+"/*.csv")frame=pd.DataFrame()list_=[]forfile_inallFiles:df=pd.read_csv(file_,index_col=None,header=0)list_

python - 从 Protocol Buffer 获取所有字段名称?

我想将proto的所有字段名称放入一个列表中。有没有办法做到这一点?我查看了文档,似乎没有任何内容。 最佳答案 每个proto类都有一个DESCRIPTORclassvariable可用于检查相应protobuf消息的字段。查看Descriptor的文档和FieldDescriptor类以获取更多详细信息。下面是一个简单的例子,将message中所有字段的FieldDescriptor放到一个列表中:res=message.DESCRIPTOR.fields要获得“与.proto文件中出现的完全一样”的字段名称:res=[field

Python 和 ctypes : how to correctly pass "pointer-to-pointer" into DLL?

我有一个分配内存并返回它的DLL。DLL中的函数是这样的:voidFoo(unsignedchar**ppMem,int*pSize){*pSize=4;*ppMem=malloc(*pSize);for(inti=0;i另外,我有一个python代码可以从我的DLL访问这个函数:fromctypesimport*Foo=windll.mydll.FooFoo.argtypes=[POINTER(POINTER(c_ubyte)),POINTER(c_int)]mem=POINTER(c_ubyte)()size=c_int(0)Foo(byref(mem),byref(size)]p

python - 有没有办法使用 python 3.x 访问 Protocol Buffer ?

我们在项目中使用Python3.x。但是ProtocolBuffers官方客户端只支持python2.x。我不想降级到python2.x。 最佳答案 更新2:Python3.x从版本3.0.0开始原生支持。您可以在此处查看GitHub上发布的版本:https://github.com/protocolbuffers/protobuf/releases更新:protobuf的稳定版本2.6.1不支持Python3.x。但是,较新的3.0.0版本(仍处于测试阶段)支持Python3.x。你可以在这里查看PyPi上发布的版本:https:

python - 标识符规范化 : Why is the micro sign converted into the Greek letter mu?

我只是偶然发现了以下奇怪的情况:>>>classTest:µ='foo'>>>Test.µ'foo'>>>getattr(Test,'µ')Traceback(mostrecentcalllast):File"",line1,ingetattr(Test,'µ')AttributeError:typeobject'Test'hasnoattribute'µ'>>>'µ'.encode(),dir(Test)[-1].encode()(b'\xc2\xb5',b'\xce\xbc')我输入的字符始终是键盘上的µ符号,但由于某种原因它被转换了。为什么会这样? 最

python - easy_install : ImportError: Entry point ('console_scripts' , 'easy_install' ) 未找到

我用easy_install安装pip,用pip安装django、virtualenv和virtualenvwrapper。几周后我刚刚回到它,django似乎不再工作了,但更令人担忧的是我无法重新开始该过程,因为easy_install返回以下错误:Traceback(mostrecentcalllast):File"/usr/bin/easy_install-2.7",line10,inload_entry_point('setuptools==0.6c12dev-r88846','console_scripts','easy_install')()File"/Library/Py