4

我正在 (wx)python 中编写文件管理器 - 很多已经有效。复制文件时已经有一个进度对话框,覆盖处理等。

现在在 Vista 中,当用户想要将文件复制到某些目录(例如 %Program Files%)时,应用程序/脚本需要提升,在运行时不能要求提升。所以我必须启动另一个提升的应用程序/脚本,它可以完成工作,但需要与主应用程序通信,因此后者可以更新进度等。

我搜索并发现很多文章说共享内存和管道是最简单的方法。所以我正在寻找的是一个“高级”平台独立的ipc库,它使用共享内存或管道进行python绑定。

我已经找到了 ominORB、fnorb 等。它们看起来很有趣,但是使用 TCP/IP,是否有使用共享内存或管道的等效库?由于 ipc-client 总是在同一台机器上,因此这里似乎不需要套接字。而且我还担心用户必须在他/她的个人防火墙上允许 ipc-socket-communications。

编辑:我的意思是高级别的:能够像使用omniORB而不是将字符串发送到stdin/stdout时那样调用一些函数会很棒。

4

1 回答 1

2

使用标准输入/标准输出与第二个进程通信怎么样?

由于输入和输出缓冲,有一些警告,但请查看这个 Python Cookbook recipePexpect,了解如何执行此操作的想法。

于 2009-01-24T14:00:50.510 回答