替代子进程mv以减少内存占用

时间:2017-03-28 22:18:32

标签: python subprocess

如何以更加pythonic的方式执行以下操作,不会创建新线程(这会占用太多内存) -

subprocess.call(['mv', '/tmp/%s' % self.file_name, self.file_name]) 

另外,我需要确保它在运行脚本时尊重sudo命令,因为我需要它来移动文件。

1 个答案:

答案 0 :(得分:1)

您执行的操作最好using shutil.move,它将以与Python进程相同的权限运行(因为 是您的Python进程),所以如果Python脚本为sudomove操作也是如此:

import shutil

shutil.move('/tmp/%s' % self.file_name, self.file_name)