Tag: python

如何在Djangodebugging工具栏中使用日志logging?

我想在我的django应用程序在视图函数中的不同点输出debugging消息。 Django的debugging工具栏的文档说它使用python日志中的构build,但我找不到更多的信息。 我真的不想login到文件,而是到工具栏上的信息窗格。 这个怎么用?

在Python 3中迭代字典项(),值(),键()

如果我理解正确,在Python 2中, iter(d.keys())与d.iterkeys()相同。 但现在, d.keys()是一个视图,位于列表和迭代器之间。 视图和迭代器有什么区别? 换句话说,在Python 3中,有什么区别呢 for k in d.keys() f(k) 和 for k in iter(d.keys()) f(k) 另外,这些差异如何在一个简单for循环中显示(如果有的话)?

如何在Python中使用多处理队列?

我在试图了解多处理队列如何在python上工作以及如何实现它时遇到了很多麻烦。 比方说,我有两个Python模块,从共享文件访问数据,让我们称这两个模块作家和读者。 我的计划是让读写器都将请求放入两个单独的多处理队列中,然后让第三个进程在一个循环中popup这些请求并执行。 我的主要问题是,我真的不知道如何正确地实现multiprocessing.queue,你不能真正实例化每个进程的对象,因为它们将是单独的队列,你如何确保所有进程与共享队列相关(或在这种情况下,队列)

将C ++ API公开给Python

我目前正在做一个项目,我不得不用Python来包装C ++类,以便能够编写脚本。 所以我的具体经验也涉及在我们的程序中embeddedPython解释器。 我试过的select是: Boost.Python的 我喜欢Boost.Python生成的清洁API,但事实上,它会要求用户安装额外的依赖关系,使我们切换到SWIG。 痛饮 SWIG对我们的主要优势是它不需要最终用户安装它来使用最终的程序。 你曾经做过什么,你有什么经验呢?

泡菜和货架有什么区别?

我正在学习对象序列化的第一次。 我尝试阅读和search模块pickle和搁置的差异,但我不知道我明白这一点。 何时使用哪一个? Pickle可以将每个python对象转换为可以保存到文件中的字节stream。 那么为什么我们需要模块搁置? 不是咸菜更快?

在python中使用map处理列表时获取item的索引

在使用map()处理列表时,我想在lambda内部访问项目的索引。 我怎样才能做到这一点? 例如 ranked_users = ['jon','bob','jane','alice','chris'] user_details = map(lambda x: {'name':x, 'rank':?}, ranked_users) 上面的例子中我怎样才能得到每个用户的排名?

通用的多对多关系

我正在尝试创build一个邮件系统,邮件的发件人和收件人可以是通用实体。 这似乎罚款的发件人,只有对象引用(GenericForeignKey),但我不知道如何去接收者(GenericManyToManyKey ??) 下面是一个简单的例子。 PersonClient和CompanyClient从客户端inheritance属性,但有自己的具体细节。 最后一行是棘手的问题。 如何让消息收件人成为一组公司客户端和个人客户端 class Client(models.Model): city = models.CharField(max_length=16) class Meta: abstract = True class PersonClient(Client): first_name = models.CharField(max_length=16) last_name = models.CharField(max_length=16) gender = models.CharField(max_length=1) class CompanyClient(Client): name = models.CharField(max_length=32) tax_no = PositiveIntegerField() class Message(models.Model): msg_body = models.CharField(max_length=1024) sender = models.ForeignKey(ContentType) recipients = models.ManyToManyField(ContentType)

如何使用简单的安装后脚本来扩展distutils?

模块和程序安装后,我需要运行一个简单的脚本。 我在查找关于如何做到这一点的简单文档方面遇到了一些麻烦。 它看起来像我需要从distutils.command.installinheritance,重写一些方法,并将此对象添加到安装脚本。 细节虽然有点朦胧,对于这样一个简单的钩子来说,这似乎是一个很大的努力。 有谁知道一个简单的方法来做到这一点?

如何从IPython会话复制没有terminal提示

我的工作stream程经常涉及IPython shell中的数据清理/清理。 自从IPython 5.0版本升级到terminal界面之后,这已经变得特别精彩。 所以,假设我试图弄清楚一些非结构化数据: In [11]: for i, (num, header, txt) in enumerate(data): …: header = [e.strip() for e in header.strip().split('\n')] …: header[4] = header[4].strip(',').split(',') …: data[i] = (num, header, txt) …: 神奇的,它的作品! 但现在,我真的很想在编辑器中添加这个脚本。 如果我从terminal复制并粘贴,我会捕获左侧的所有垃圾。 我可以在一个编辑器中或多或less简单地清理它,但是如果我可以直接将代码从terminal复制到我的剪贴板而不用触摸鼠标,也不需要额外的东西,那就太棒了。 IPython中有这样的function吗?

为什么在Python中得到错误“连接被拒绝”? (sockets)

我是新来的套接字,请原谅我完全不了解。 我有一个服务器脚本(server.py): #!/usr/bin/python import socket #import the socket module s = socket.socket() #Create a socket object host = socket.gethostname() #Get the local machine name port = 12397 # Reserve a port for your service s.bind((host,port)) #Bind to the port s.listen(5) #Wait for the client connection while True: c,addr = s.accept() #Establish a connection with the […]