Questions tagged «python»

Python是一种多范式,动态类型的多用途编程语言。它旨在快速学习,理解和使用并强制使用干净统一的语法。请注意,Python 2自2020年1月1日起已不再受支持。不过,对于特定于版本的Python问题,请添加[python-2.7]或[python-3.x]标签。使用Python变体或库(例如Jython,PyPy,Pandas,Numpy)时,请将其包含在标签中。

6
在Python 2中,如何在父范围中写入变量?
我在函数内有以下代码: stored_blocks = {} def replace_blocks(m): block = m.group(0) block_hash = sha1(block) stored_blocks[block_hash] = block return '{{{%s}}}' % block_hash num_converted = 0 def convert_variables(m): name = m.group(1) num_converted += 1 return '<%%= %s %%>' % name fixed = MATCH_DECLARE_NEW.sub('', template) fixed = MATCH_PYTHON_BLOCK.sub(replace_blocks, fixed) fixed = MATCH_FORMAT.sub(convert_variables, fixed) 添加元素可以stored_blocks正常工作,但是我不能num_converted在第二个子功能中增加: UnboundLocalError:分配前已引用局部变量“ …

1
有什么方法可以将pythonappend与SWIG的新内置功能一起使用?
我有一个与SWIG完美搭配的小项目。特别是,我的某些函数返回std::vectors,在Python中将其转换为元组。现在,我做了很多数字运算,因此我只是将它们从C ++代码返回后,将它们转换为numpy数组。为此,我在SWIG中使用了以下内容。 %feature("pythonappend") My::Cool::Namespace::Data() const %{ if isinstance(val, tuple) : val = numpy.array(val) %} (实际上,有几个名为Data的函数,其中一些返回浮点数,这就是为什么我检查它val实际上是一个元组的原因。)这工作得很漂亮。 但是,我也想使用-builtin现在可用的标志。很少调用这些Data函数,并且大多数都是交互式的,因此它们的缓慢性不是问题,但是使用内置选项可以显着加快其他缓慢循环的速度。 问题是当我使用该标志时,pythonappend功能将被静默忽略。现在,Data再次返回一个元组。有什么办法我仍然可以返回numpy数组吗?我尝试使用类型映射,但结果变得一团糟。 编辑: Borealid很好地回答了这个问题。仅出于完整性考虑,我包括了一些相关但略微不同的类型映射,因为我是通过const引用返回的,并且我使用了vectors的向量(不要开始!)。这些差异是如此之大,以至于我不希望其他人为找出细微的差异而绊脚石。 %typemap(out) std::vector<int>& { npy_intp result_size = $1->size(); npy_intp dims[1] = { result_size }; PyArrayObject* npy_arr = (PyArrayObject*)PyArray_SimpleNew(1, dims, NPY_INT); int* dat = (int*) PyArray_DATA(npy_arr); for (size_t i = 0; i < …
77 python  numpy  swig 

8
通过sendmail从python发送邮件
如果我不想通过SMTP而是通过sendmail发送邮件,是否有用于封装此过程的python库? 更好的是,是否有一个好的库可以抽象整个“ sendmail -versus- smtp”选择? 我将在大量的Unix主机上运行此脚本,其中只有一些在localhost:25上侦听;其中一些是嵌入式系统的一部分,不能设置为接受SMTP。 作为优良作法的一部分,我真的很想让库自己解决标头注入漏洞—因此,仅将字符串转储popen('/usr/bin/sendmail', 'w')到比我想要的更接近金属的地方。 如果答案是“去写一个库”,那就去吧;-)
77 python  email  sendmail 


6
是否为django生产服务器推荐virtualenv?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 改善这个问题 我一直在使用virtualenv在本地主机中测试我的应用程序,因为我具有隔离的环境并且可以安全地测试软件包的新发行版。 现在到了必须将我的应用程序部署到生产服务器的时候了。我想知道我是否还应该将virtualenv用于生产服务器,还是应该只进行常规安装。由于它是生产服务器,因此我始终可以使用在开发服务器中测试的正确版本(在virtual-env下)

3
NLTK使用的实际示例
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我在玩自然语言工具包(NLTK)。 它的文档(Book和HOWTO)非常庞大,示例有时会稍作改进。 有没有很好的NLTK用途/应用的基本示例?我正在考虑诸如Stream Hacker博客上的NTLK文章。
77 python  nlp  nltk 

7
如何知道变量是元组,字符串还是整数?
我正在尝试在串联操作中将字符串添加到另一个字符串时找出类型不匹配的情况。 基本上,返回的错误是TypeError(无法连接字符串和元组);所以我想弄清楚我在哪里分配一个值作为元组而不是字符串。 我分配的所有值都是字符串,因此我必须弄清楚元组的来源,因此我希望Python中有一种方法可以找出变量中包含的内容以及变量的类型。 到目前为止,使用pdb可以检查变量的内容,并且可以正确地获得期望的值。但我也想知道变量的类型(通过逻辑,如果编译器能够引发类型错误,则意味着它知道变量内部的内容以及它是否与要执行的操作兼容;因此必须是一种获取该值/标记的方法)。 有什么办法可以打印出python中变量的类型? 顺便说一句,我试图将所有变量都更改为显式字符串,但是强制执行是不可行的str (myvar),因此我不能仅在使用字符串的任何地方都将其转换为字符串类型。
77 python 

16
安装后未将awscli添加到路径
我根据亚马逊的官方指示安装了aws cli。 sudo pip install awscli 但是,aws在我的道路上无处可寻。安装似乎已成功。位于的文件很多/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/awscli,但是没有名为的可执行文件aws。我的python版本是3.3.4,我的pip版本是1.5.4,并在OS X 10.9上运行此命令。有什么事吗 谢谢!

7
Python中的循环导入依赖
假设我具有以下目录结构: a\ __init__.py b\ __init__.py c\ __init__.py c_file.py d\ __init__.py d_file.py 在a软件包的中__init__.py,将c导入软件包。但是c_file.py进口a.b.d。 程序失败,表示尝试导入b时不存在。(它实际上不存在,因为我们正在导入它。)c_file.pya.b.d 如何解决这个问题?


9
如何找到具有n个元素的集合的所有子集?
我正在用Python写一个程序,我意识到要解决的一个问题要求我给定一个S包含n元素(| S | = n)的集合,以便对某个特定顺序的所有可能子集m(例如,使用m元素数)。要使用答案产生部分解决方案,然后以下一个阶数m = m + 1再次尝试,直到m = n。 我正在写以下形式的解决方案: def findsubsets(S, m): subsets = set([]) ... return subsets 但是了解Python之后,我希望已经有了解决方案。 做到这一点的最佳方法是什么?
77 python 


3
Celery-获取当前任务的任务ID
如何从任务中获取任务的task_id值?这是我的代码: from celery.decorators import task from django.core.cache import cache @task def do_job(path): "Performs an operation on a file" # ... Code to perform the operation ... cache.set(current_task_id, operation_results) 这个想法是,当我创建任务的新实例时,我task_id从任务对象中检索。然后,我使用任务ID来确定任务是否已完成。我不想按path值跟踪任务,因为文件在任务完成后被“清理”,并且可能存在也可能不存在。 在上面的示例中,我将如何获取值current_task_id?
77 python  django  celery 

4
在Python中正确使用互斥锁
我从python中的多线程开始(或者至少我的脚本有可能创建多个线程)。该算法是否是Mutex的正确用法?我尚未测试此代码,它可能甚至无法正常工作。我只希望processData在一个线程中运行(一次一个),而主while循环保持运行,即使队列中有一个线程也是如此。 from threading import Thread from win32event import CreateMutex mutex = CreateMutex(None, False, "My Crazy Mutex") while(1) t = Thread(target=self.processData, args=(some_data,)) t.start() mutex.lock() def processData(self, data) while(1) if mutex.test() == False: do some stuff break 编辑:重新阅读我的代码,我可以看到它是完全错误的。但是,这就是为什么我在这里寻求帮助。

11
在什么情况下我会使用元组作为字典键?
我正在研究列表和元组之间的区别(在Python中)。一个明显的事实是,元组是不可变的(在初始赋值后不能更改值),而列表是可变的。 文章中的一句话让我明白了: 只能将不可变元素用作字典键,因此只能将元组而不是列表用作键。 我很难考虑要使用元组作为字典键的情况。您能否提供一个示例问题,说明这是自然,高效,优雅或显而易见的解决方案? 编辑: 感谢您的示例。到目前为止,我认为一个非常重要的应用程序是函数值的缓存。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.