网页上散布着各种描述POSIX AIO设施的页面,其中包含不同的细节.它们都不是最近的.目前还不清楚他们究竟在描述什么.例如,Linux内核异步I/O支持的"官方"(?)网站说套接字不起作用,但我的Ubuntu 8.04.1工作站上的"aio.h"手册页似乎都暗示它适用于任意文件描述符.然后还有另一个项目似乎在图书馆层工作,文档更少.
我想知道:
<aio.h>似乎有希望?我可以使用的其他多路复用机制非常好,但随处可见的信息碎片让我很好奇.
我的程序中有两个整数; 让我们称他们为" a"和" b".我想将它们加在一起,结果得到另一个整数.这些是常规的Python int对象.我在想; 如何将它们与Twisted一起添加?performAsynchronousAddition某处有特殊功能吗?我需要一个Deferred吗?反应堆怎么样?是否涉及反应堆?
如何Class从该类的实例中获取actionscript类的实例?
在Python中,这将是x.__class__; 在Java中x.getClass();.
我知道有一些可怕的黑客可以做到这一点,但我正在寻找一个内置的语言设施,或者至少建立在可靠的基础上的库例程.
所述扭曲扩展系统 是写扩展的扭曲应用的首选方式.
但是,由于插件系统的结构方式(插件进入一个不应该是Python包的twisted/plugins目录),编写适当的setup.py来安装这些插件似乎并非易事.
我已经看到一些尝试将'twisted.plugins'添加到distutils setup命令的'packages'键,但由于它不是真正的包,所以会发生不好的事情(例如,__init__.py某些工具有助于添加).
其他尝试似乎使用'package_data'(例如,http://bazaar.launchpad.net/~glyph/divmod.org/trunk/view/head: /Epsilon/epsilon/setuphelper.py),但这也可能失败以奇怪的方式.
问题是:有没有人成功编写过setup.py来安装扭曲的插件,它适用于所有情况?
我想知道自用户上次按键或移动鼠标以来已经有多长时间 - 不仅在我的应用程序中,而且在整个"计算机"(即显示器)上,以便猜测它们是否仍在电脑,能够观察屏幕上弹出的通知.
我想纯粹从(Py)GTK +这样做,但我可以调用特定于平台的函数.理想情况下,我想调用已经包含在Python中的函数,但是如果不可能的话,我不会超过一点C或ctypes代码,只要我知道我实际上在寻找什么.
在Windows上我认为我想要的功能是GetLastInputInfo,但这似乎并没有被pywin32包装; 我希望我错过了一些东西.
我尝试在Ubuntu VM上安装twisted如下:
pip安装扭曲
它下载并开始安装,但出现此错误:
Command "/usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-SQhfJz/twisted/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-ItHrMV-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-SQhfJz/twisted
Run Code Online (Sandbox Code Playgroud)
我不是一个真正的程序员,只是一个业余爱好者,所以这是我的头脑.谷歌搜索它表明它需要python-dev和build-essential.我安装了这两个,但安装twisted仍然得到了与以前相同的错误.
有什么想法吗?
只要任何SQL语句因错误而终止,Postgres就会自动中止事务,其中包括任何约束违规.例如:
glyph=# create table foo (bar integer, constraint blug check(bar > 5));
CREATE TABLE
glyph=# begin;
BEGIN
glyph=# insert into foo values (10);
INSERT 0 1
glyph=# insert into foo values (1);
ERROR: new row for relation "foo" violates check constraint "blug"
STATEMENT: insert into foo values (1);
ERROR: new row for relation "foo" violates check constraint "blug"
Run Code Online (Sandbox Code Playgroud)
尚未发出任何消息,但事务已回滚.我个人最喜欢的会议内容如下:
glyph=# commit;
ROLLBACK
Run Code Online (Sandbox Code Playgroud)
...因为" ROLLBACK"似乎是一个奇怪的成功 -消息COMMIT.但实际上,它已被回滚,表中没有行:
glyph=# select * from foo;
bar
-----
(0 rows)
Run Code Online (Sandbox Code Playgroud)
我知道我可以创建大量的 …
我目前正在开发一个在mac os mountain lion上创建TCP服务器的项目.我写了一个名为Server.py的脚本
在这个python脚本中,我使用twisted来侦听端口80,如下所示:
reactor.listenTCP(80, factory)
reactor.run()
Run Code Online (Sandbox Code Playgroud)
我怎么会这样得到错误:
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/posixbase.py", line 436, in listenTCP
p.startListening()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/tcp.py", line 641, in startListening
raise CannotListenError, (self.interface, self.port, le)
twisted.internet.error.CannotListenError: Couldn't listen on any:80: [Errno 13] Permission denied.
Run Code Online (Sandbox Code Playgroud)
我在想是因为tcp.py脚本对admin用户有错误的权限?或者有没有办法设置端口<1024的权限?(要更改权限,它将如何影响此类服务器的安全性?)
任何更好的解决方案都是适用的.
我使用Python和OpenSSL使用TLS连接到一个站点(在一些跨平台的软件中,所以切换到CryptoAPI的工作量太大了); 但是,我不想分发(和更新)自定义证书列表.我想从平台上获取它们.在OS X和Linux上,这是相当简单的,但Windows附带了一个不完整的TLS可信根证书颁发机构列表; 基本上只是微软自己的证书,然后当高级TLS内容(例如通过HTTPS在Internet Explorer中加载网页)必须验证以前没有看到的信任根时,动态地将信任根添加到商店. (此过程在此处进行了解释.) 这意味着我可以枚举Windows根证书存储区wincertstore,但它没用,因为在最近安装了较新操作系统的计算机上,该存储区几乎为空.
Microsoft 为管理员提供详细说明,以便预先检索此列表,以便能够操作具有严格控制的网络访问权限的计算机; 但是,我找不到任何可以执行相同操作的API的引用,只需从Microsoft下载所有受信任的根证书.(老实说,在每周多兆字节系统更新的时代,我不明白为什么预先下载这些是如此重要,如果它只是一个缓存;对于奖励积分,请解释为什么这需要发生.)
那么:是否有一个API允许我告诉系统根据它使用的任何规则预先缓存受信任的根证书?如果失败了,如果真的不可能(例如,如果CryptoAPI一次只能下载一个信任根,并且只有当你提供由该根签名的证书),是否有办法将OpenSSL证书验证连接到CryptoAPI的信任存储区,以便验证将下载和缓存信任根,就像本机TLS连接一样?
例如,我想在我的Python文档字符串中突出显示@param,@type和@return(即epytext声明).我已经想出了如何通过简单的编辑来做到这一点Python/Python.tmLanguage; 但是,由于以下几个原因,我真的想把它放在自己的文件中:
有没有办法将突出显示规则放入单独的文件中,也许只能应用于特定范围?
python ×4
twisted ×4
asynchronous ×2
actionscript ×1
addition ×1
aio ×1
apache-flex ×1
bsd ×1
cryptoapi ×1
distribute ×1
distutils ×1
flash ×1
gtk ×1
linux ×1
macos ×1
posix ×1
postgresql ×1
pygtk ×1
pywin32 ×1
setuptools ×1
ssl ×1
sublimetext2 ×1
tcp ×1
winapi ×1
windows ×1