【发布时间】:2013-11-23 05:29:38
【问题描述】:
我正在尝试将 .mp4 文件发送到 mp4 标记应用程序。我的问题是,在 Windows 上,每次我调用 subprocess.call() 或 subprocess.Popen() 时都会产生一个新进程。
如果进程已经在运行,我想要的是在现有进程中打开文件...这可能吗,还是取决于被调用的进程如何处理新的进程调用?
这是我所拥有的:
def sendToTagger(self, file):
msg = "-- " + self.getDateStamp() + "-- Sending " + os.path.basename(file) + " to Tagger...\r\n"
self.logFile.write(msg)
print(msg)
p = subprocess.Popen(['C:\\Program Files (x86)\\Tagger\\Tagger.exe', file], shell=False, stdin=None, stdout=None)
【问题讨论】:
-
Tagger.exe是否通过其标准输入接受新文件,即它是否有效:echo filename.mp4 | Tagger.exe?如果是这样,那么您可以使用单个进程来处理多个媒体文件。 -
@J.F.Sebastian - 感谢您的回复!昨天我正在使用 MetaX,当我写这篇文章时,它不会通过
stdin处理文件我现在已经开始使用 AtomicParlsey,现在一切都很好。谢谢!
标签: python subprocess single-instance