Как получить несохраненные выходные данные оператора в python?

#python

Вопрос:

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

 list(glob.glob(str(train_root) '/**/info.txt',recursive=True))
 

Сохраняется ли оно в имени переменной, зарезервированном python, например temp ?
тогда я смогу бежать my_list=temp .

Комментарии:

1. если вы находитесь в интерактивной консоли, возвращаемое значение последнего оператора (если оно еще не было присвоено переменной) присваивается _ (одно подчеркивание). лучше всего позвонить что-то вроде >>> mylist = _ быстрого, прежде чем перезаписывать _

2. IPython предоставляет полную историю: jakevdp.github.io/PythonDataScienceHandbook/… Просто используйте Out[NUMBER]

3. Где вы провели эту линию? В файле Python, записной книжке Jupyter или REPL?

4. все исчезает, когда вы также закрываете интерпретатор, поэтому, вероятно, также лучше сохранить пути к файлам в файл, используя что-то вроде with open("paths.txt", "w") as f; f.write("n".join(mylist))

5. Я проверил это в записной книжке Юпитера

Ответ №1:

Если вы уже запустили код, python освободил память после завершения выполнения кода. Скорее всего, вам придется перезапустить его, чтобы получить результат.

Если вы запустили это в режиме ожидания, то вы, безусловно, можете сохранить в файл что-то вроде: f = open('<output_file_name>','w') а затем print(<string_of_data>, file=f) или f.write(<string_of_data>) . Закончите с f.close()

При запуске этого будет сохранен выходной текстовый файл, содержащий эту переменную. Возможно, вам потребуется привести массив в виде строки и указать путь к выходному файлу.