我有一个Nonetype值x ,它通常是一个数字,但可以是None 。 我想把它分成一个数字,但Python提出: TypeError: int() argument must be a string or a number, not 'NoneType' 我该如何解决这个问题?
为了理解搅拌机python游戏脚本,我目前尝试构build一个场景,在这个场景中可以使用这个链接中的FPSController结构来绕过一个球体。 对于重力和FPSController的方向,我试图构build一个Python的控制器,目前看起来像这样: def main(): print("Started") controller = bge.logic.getCurrentController() me = controller.owner distance, loc, glob = me.getVectTo((0,0,0)) grav = controller.actuators['Gravity'] strength = me['Gravity'] force = strength*(distance*distance)*glob grav.force = force try: rot = Vector((0,0,-1)).rotation_difference(glob).to_matrix() except Exception as E: print(E) rot = (0,0,0) rotZ = me.orientation me.orientation = rot*rotZ controller.activate(grav) main() 它大致可以工作,直到任何angular度超过180度,然后看起来不连续。 我假设这是来自rotation_difference是不连续的 – 关于mathtypes和实用工具的搅拌器文档没有说什么,我还没有足够的关于四元数表示的想法,但看看是否有可能连续的地图 – 我想有一个更优雅的方式为了实现局部Z方向不断依赖鼠标,而本地X和Y方向不断依赖于某个给定的vector,但是如何?
关于如何做到这一点,有大量的信息,但是由于“有一种以上的方式来剥皮猫” ,所有涉及这个过程的教程/手册似乎都做出了某些与其他的不同的假设教程,我还没有设法掌握它。 到目前为止,这是我所理解的。 我的最终目标应该是创build一个“二进制”.deb包。 这样的软件包将是平台独立(32/64位),因为所有的Python程序都是这样的。 要创build一个“二进制”包,我需要首先创build一个源包。 要创build源包,我可以使用CDBS或debhelper 。 Debhelper是初学者推荐的方法。 创build一个源代码包的核心是在源代码目录中填充DEBIAN目录,其中包含许多文件,说明需要复制文件的位置,受版权和授权scheme的约束,它们依赖于什么等等。 如果 python源代码还带有一个distutils的setup.py脚本,第四步可以在很大程度上自动执行dh_make命令。 现在我的问题: 我的理解过程是否正确? 有什么我失踪,或者我错了什么? 步骤#5对我来说真的更令人困惑:具体来说,对我来说最难掩的两点是: 如何编写安装独立程序的setup.py脚本? 编辑:通过独立程序我的意思是一个程序,旨在由桌面用户(而不是一个模块 ,我明白像一个function的集合,被其他软件导入后使用)使用的程序。 在我的具体情况下,我实际上需要两个这样的“程序”:主要软件和一个单独的工具(实际上是第二个“程序”应该与另一个相同的程序包)。 这个DEB包的脚本有什么特殊之处? 官方文档似乎只处理RPM和Windows的东西… 顺便说一句:这是迄今为止我能find的最好的信息来源。 如果你有比这更好的东西,请分享! 🙂 Ubuntu的Python包装指南 从python setup.py创build一个.deb包 (它显示的步骤,但没有解释 ,足够让我跟随) ShowMeDo关于“用python编写一个.deb软件包”的video (它看起来不是最新的,如果我没有错误的话)会生成一些供个人使用的软件包,没有依赖关系,没有签名的变更日志和其他关键数据将使其与Debian政策不相容)。
题: 我已经将我的Python程序简介为死亡,并且有一个函数正在放慢速度。 它大量使用Python字典,所以我可能没有以最好的方式使用它们。 如果我不能更快地运行它,我将不得不用C ++重新编写它,那么有没有人可以帮我在Python中进行优化? 我希望我已经给出了正确的解释,并且可以对我的代码有所了解。 在此先感谢您的帮助。 我的代码: 这是有问题的函数,使用line_profiler和kernprof进行分析 。 我正在运行Python 2.7 特别是像363,389和405行这样的事情让我感到困惑,其中一个if语句与两个variables的比较似乎花费了过多的时间。 我已经考虑使用NumPy (因为它稀疏matrix),但我不认为这是适当的,因为:(1)我没有索引我的matrix使用整数(我使用的对象实例); 和(2)我没有在matrix中存储简单的数据types(我正在存储一个float和一个对象实例的元组)。 但我很乐意被NumPy说服。 如果有人知道NumPy的稀疏matrix性能与Python的哈希表,我会感兴趣。 对不起,我还没有给出一个简单的例子,你可以运行,但是这个函数绑定在一个更大的项目中,我不能解决如何设置一个简单的例子来testing它,而不会给你一半的代码基础! Timer unit: 3.33366e-10 s File: routing_distances.py Function: propagate_distances_node at line 328 Total time: 807.234 s Line # Hits Time Per Hit % Time Line Contents 328 @profile 329 def propagate_distances_node(self, node_a, cutoff_distance=200): 330 331 # a […]
我开始使用python,eclipse和pydev。 我应该select哪个Eclipse包? eclipse主页上没有任何东西告诉我要select什么,python文档假设我已经安装了eclipse。 我select哪个包?
我只是想知道不同的CGI的差异和优势。 哪一个是最好的python脚本,以及如何告诉脚本使用什么?
我已经开始研究一个相当大的(multithreading的)Python项目,并加载了(单元)testing。 最重要的问题是运行应用程序需要一个预设的环境,这是由上下文pipe理器实现的。 到目前为止,我们使用了可以在这个pipe理器中运行testing的unit testing运行器的补丁版本,但是这不允许在不同的testing模块之间切换上下文。 鼻子和pytest都支持这样的事情,因为它们支持多个粒度的固定装置,所以我们正在考虑切换到鼻子或pytest。 这两个库也将支持“标记”testing,并只运行这些标记的子集,这也是我们想要做的。 我一直在浏览nose和pytest的文档,据我所知,这些库的大部分基本上支持相同的function,除了可以命名不同,或者需要稍微不同的语法。 另外,我注意到可用插件中的一些小的差异(鼻子有多进程支持,pytest似乎不是) 所以看来,魔鬼在细节上,这意味着(通常至less)在个人的品味,我们最好去适合我们的个人品味最好的图书馆。 所以我会要求一个主观的论证,为什么我应该用鼻子或pytest去select最适合我们需要的图书馆/社区组合。
我目前正在考虑实现一个将使用现有的广泛的SOAPpipe理API的客户端。 我研究了不同的SOAP实现,如pysimplesoap和SUDS 。 虽然第一个问题是因为recursion太多而parsingWSDL,但是泡沫很好(但是很慢),我真的很喜欢模块。 但是,SUDS似乎存在一些问题,如高内存消耗,WSDLparsing速度以及缺less对某些WSDL属性(例如select属性)的支持。 虽然有很多人积极提交错误报告和补丁,但自2010年9月15日以来, 没有发布 SUDS。 另外,维基和路线图看起来有点被忽视。 对我来说,看起来SUDS不再维护。 所以在这里我的问题: 肥皂客户基础上一个更大的泡沫项目是否有意义? 是否有泡沫分叉已经实现了售票系统中的一些补丁? 有什么替代方法可用,内存占用less,易于使用,可以处理复杂的大型WSDL文件 [2013年11月更新] 两年多的时间过去了,原来的泡沫项目真的已经死了。 自2010年以来,并没有进一步的发布。由于这个事实,许多人开始分叉,像Debian这样的发行版本正在部署修补版本的原始泡沫包来解决一些问题。 我可以推荐我成功使用Jurko的积极维护的叉子。 它支持python 3,解决了许多已知的问题。 发行说明和bug跟踪器在Bitbucket上可用,包上也可以在PyPI上使用,因此可以使用pip进行安装。
即使经过多年的编程,我也感到羞愧,说我从来没有真正掌握正则expression式。 一般来说,当一个问题需要一个正则expression式的时候,我通常可以(在引用了一些语法之后)提出一个正确的问题,但这是一种我经常使用的技术。 所以,要正确地教导自己, 正确理解正则expression式,我决定在尝试学习某些东西时做我总是这样做的事情; 即尝试写一些雄心勃勃的东西,一旦我觉得我已经学到了足够的东西,我可能会放弃。 为此,我想在Python中编写一个正则expression式parsing器。 在这种情况下,“充分学习”意味着我想实现一个parsing器,它可以完全理解Perl的扩展正则expression式语法。 但是,它不一定是最有效的parsing器,甚至不一定在现实世界中可用。 它只需要匹配或不匹配string中的模式。 问题是,我从哪里开始? 除了涉及有限状态自动机的事实之外,我几乎不了解正则expression式是如何parsing和解释的。 任何build议如何处理这个相当艰巨的问题将不胜感激。 编辑:我应该澄清的是,虽然我要在Python中实现正则expression式parsing器,但我并不过分地讨论编写这些示例或文章的编程语言。只要它不在Brainfuck中,我可能会理解得足够多它使它值得我的时光。
我有一个掌握字典的课程 class OrderBook: orders = {'Restaurant1': None, 'Restaurant2': None, 'Restaurant3': None, 'Restaurant4': None} @staticmethod def addOrder(restaurant_name, orders): OrderBook.orders[restaurant_name] = orders 我正在运行4个线程(每个餐厅一个)调用方法OrderBook.addOrder 。 这里是每个线程运行的function: def addOrders(restaurant_name): #creates orders … OrderBook.addOrder(restaurant_name, orders) 这是安全的,还是我必须在调用addOrder之前使用锁?