я сверну небольшой судебно-приложение, которое выглядит как этот до сих порPython POPEN обыкновение работать с блочными устройствами
import time, os,sys
def getter():
filename = sys.argv[1]
print "File Entered: " + filename
os.system('file ' + filename)
print "\n"
pipe = os.popen("xxd " + filename, "r")
print pipe.read()
I вход через командную строку массива и он печатает тип файла, а затем она является предположительно, чтобы создать канал от терминала обратно к приложению python под названием трубы «pipe». Затем я прочитал трубу под названием «труба»
Это отлично работает на небольших текстовых файлах, но не работает на блочных устройствах, даже когда я запускаю это приложение в качестве суперпользователя. В итоге это приведет к восстановлению файлов на основе вывода xxd.
любые советы, спасибо.
'popen' устарел. Вместо этого используйте модуль 'subprocess'. – badp
Что означает устаревшее? – Recursion
Устаревшее означает, что теперь есть более эффективные способы выполнения одной и той же задачи, и устаревшие способы будут удалены с языка в какой-то момент в будущем. – badp