Я использую подпроцесс для создания случайного файла из / dev / random с использованием unix dd. Теперь, если я хочу, чтобы вывод данных dd был записан в файл вместо stdout. так вот код, который я использую,
import subprocess
out_fd = open('test_file','w')
def os_system_dd():
global out_fd
out_fd.write("executing the time dd command\n")
cmd_list = ['time','dd','if=/dev/random', 'of=/home/anand/sys_entropy_random', 'bs=1M' ,'count=5']
a = subprocess.Popen(cmd_list,stdout=out_fd)
a.wait()
if __name__ == '__main__':
os_system_dd()
Это не выводит вывод dd в файл, а печатает его в стандартный вывод.
Это специфическая функциональность команды dd? Или я что-то упускаю из-за того, как работает подпроцесс?