Как увидеть содержимое файла, который я удалил, но процесс все еще записывает в

Когда вы набираете

python3 myfile.py >myfile.html

в терминале, предполагается, что файл myfile.py уже доступен в текущем каталоге, и что myfile.html будет создан в этом же каталоге.

Когда вы открываете новое окно терминала, текущим каталогом по умолчанию будет ваш домашний каталог, также известный как ~ или $HOME.

Однако вы говорите, что "видите файл на рабочем столе", что, скорее всего, означает, что файл находится в каталоге рабочего стола где-то под вашим домашним каталогом, т.е. файл недоступен непосредственно в домашнем каталоге.

Тогда у вас есть несколько возможных альтернатив.

  1. Сменить каталог в терминале на тот, в котором на самом деле находится скрипт Python. Если каталог рабочего стола ~/Desktop, то

    cd ~/Desktop
    

    приведет вас туда. Затем вы можете выполнить команду python3, как указано выше. Файл myfile.html будет создан в каталоге Desktop.

  2. Переместите файл в свой домашний каталог. При условии, что файл находится в каталоге ~/Desktop, вы можете

    mv ~/Desktop/myfile.py ~/
    

    что приведет к перемещению файла. Затем вы можете выполнить команду python3, как указано выше. В домашнем каталоге будет создан myfile.html.

  3. Запустите сценарий Python с полным путем из домашнего каталога:

    python3 ~/Desktop/myfile.py >myfile.html
    

    В домашнем каталоге будет создан файл myfile.html.

1
31.03.2017, 19:14
1 ответ

Старый файл еще не исчез, и вы можете получить к нему доступ, если знаете PID процесса, записывающего в него данные. Вы можете зайти в /proc//fd и посмотреть на 1, который является stdout

Однако это также означает, что вы не освободили место от попытки удалить файл.

Кроме того, как только процесс завершится, файл будет удален.

2
27.01.2020, 23:34

Теги

Похожие вопросы