我在用os.system
将文件从一个系统复制到另一个系统。一个非常简单的程序的逻辑是在复制该文件后执行另一组命令。
问题是os.system
实际上并不等待文件被复制,而是开始执行下一行。这会导致系统出现问题。我实际上可以通过提供一些等待功能time.sleep()
,但我们必须复制大小从 500 MB 到有时 20 GB 的文件,并且所花费的时间有很大差异。
解决办法是什么?我需要以某种方式告诉我的程序文件已复制,然后执行下一行。
我尝试的第一件事是使用shutil.copyfile()而不是外部程序来复制文件。如果您必须使用外部程序,您应该通过以下方式调用它subprocess.Popen(),不通过os.system()
。您可以使用Popen.wait()
等待子进程完成。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)