如何在os.system完成之后延迟执行?

我正在使用
os.system
将文件从系统复制到另一个系统。一个非常简单的程序的逻辑是在复制该文件后执行另一组命令。 问题是
os.system
实际上并没有等待文件被复制,而是开始执行下一行。这会给系统带来问题。我实际上可以通过
time.sleep()
给出一些等待功能,但是我们必须复制大小从500 MB到有时20 GB的文件,并且所用的时间是非常不同的。 解决方案是什么?我需要以某种方式告诉我的程序文件被复制,然后执行下一行。     
已邀请:
我要尝试的第一件事是使用
shutil.copyfile()
而不是外部程序来复制文件。如果你必须使用外部程序,你应该通过
subprocess.Popen()
而不是通过
os.system()
来调用它。您可以使用
Popen.wait()
等待子进程完成。     
我认为你应该使用shutil.copyfile而不是
os.system
来复制文件。 (编辑:woops,copy,not move)     
使用shutil模块复制文件。   shutil模块提供了许多   对文件和文件的高级操作   文件集合。特别是,   提供支持的功能   文件复制和删除。 另外,使用子进程模块而不是os.system()   子进程模块允许您   产生新的进程,连接到他们的   输入/输出/错误管道,并获得   他们的退货代码。这个模块   打算取代其他几个,   较旧的模块和功能,例如:      使用os.system 为了获得更好的答案,您需要提供更多有关您正在尝试做什么以及如何(以编程方式)卡住的详细信息。     

要回复问题请先登录注册