通过网络驱动器复制大型数据文件时:
cmd=None
if sys.platform.startswith("darwin"): cmd=['cp', source, dest]
elif sys.platform.startswith("win"): cmd=['xcopy', source, dest, '/K/O/X']
if cmd: proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
我想知道是否有办法挂钩启动流程以获得反馈:例如网络传输数据速率......任何建议?
答案 0 :(得分:1)
这应该做你想要的:)
if cmd:
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
result = proc.communicate()[0]
print result
这应该做你想要的。
答案 1 :(得分:0)
我不确定“反馈”是什么意思,但您可以使用多线程获取副本的当前状态。
你可以让一个线程一直在做
du -h file_name
此链接有更多信息 - https://unix.stackexchange.com/questions/66795/how-to-check-progress-of-running-cp