【问题标题】:How to update directory to look for new files in Python using subprocess.Popen如何使用 subprocess.Popen 更新目录以在 Python 中查找新文件
【发布时间】:2016-06-23 13:25:45
【问题描述】:

亲爱的pythonists 我有一些由python 模块调用的software.exe 可执行文件。此 software.exe 创建新文件作为输出。 我想将这些名为“whatever.xml”的文件之一移动到另一个文件夹我如何“刷新”目录内容? 下面的代码只考虑之前的状态,找不到新生成的文件。 谢谢

subprocess.Popen('sofware.exe')
shutil.copy( 'whatever.xml' , anotherFolder )

【问题讨论】:

  • 您应该能够再次列出该目录中的文件以“刷新”。这是minimal reproducible example吗?
  • 我错过了之前的评论,说“等到子流程完成”。它对我有用。当然还有其他方法可以做到这一点。
  • @cricket_007 感谢您的提示。

标签: python python-2.7 subprocess


【解决方案1】:

Popen 不会阻塞,因此在您调用 copy 之前可能不会创建文件,您可以调用 .communicate() 或只使用 check_call ,直到过程完成才会返回。

subprocess.check_call('sofware.exe')
shutil.copy( 'whatever.xml' , anotherFolder )

【讨论】:

  • 我做了subprocess.Popen.wait(subprocess.Popen('software.exe')),效果很好
猜你喜欢
  • 2021-01-12
  • 2016-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多