【发布时间】:2016-11-17 18:51:25
【问题描述】:
当我在我的 Ubuntu 终端中运行时:
sudo dd if=/dev/sda of=~/file bs=8k count=200k; rm -f ~/file
效果很好。
如果我通过 Python 运行它subprocess.Popen():
output, err = subprocess.Popen(['sudo', 'dd', 'if=/dev/' + disk, 'of=~/disk_benchmark_file', 'bs=8k', 'count=200k'], stderr=subprocess.PIPE).communicate()
print err
它不起作用。我得到的错误是:
dd: 无法打开 '~/disk_benchmark_file': 没有这样的文件或目录
如果我将Popen() 中的波浪号~ 更改为/home/user,那么它可以工作!
为什么会这样? 对我来说更重要的是:我怎样才能让它发挥作用? 我不知道生产中的用户名是什么。
【问题讨论】:
-
你试过
$HOME吗?
标签: python subprocess popen dd