#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()
При запуске этого будет сохранен выходной текстовый файл, содержащий эту переменную. Возможно, вам потребуется привести массив в виде строки и указать путь к выходному файлу.