我目前正在开发一个python脚本来自动解析注册表单创建的大量电子邮件。由于我无法控制的限制,我选择这样做的方式是通过offlineimap镜像所有邮件,运行处理所有邮件的脚本并将相关信息存档到正确的位置,然后再次运行offlineimap以将所有已处理的邮件移动到不同文件夹。在Windows(7)上,我通过Cygwin终端运行offlineimap。
为了让不那么技术熟练的同事使用我的脚本,我希望使用以下命令将两行offlineimap包含在脚本中:
import subprocess
subprocess.run("offlineimap", shell=True, timeout=20)
我得到了结果:
CompletedProcess(args='offlineimap', returncode=1)
可悲的是,我对Python很陌生,而且subprocess.run命令看起来很新,以至于谷歌没有提供太多的例子。但问题似乎是offlineimap在Windows命令shell中运行并且失败。
所以问题的解决方案是:
a)通过python使用cygwin终端
b)通过windows命令shell运行offlineimap
可悲的是,offlineimap的文档只提到了Windows,并且该工具似乎是在linux机器上运行的。因此,我没有屏住呼吸选项b)但是任何建议都会受到赞赏。