Из того, что я собрал, open()
в действительности io.open()
, "обертка" высокого уровня для os.open()
.Для других файловых операций, таких как переименование и удаление файлов, я должен использовать os
функции, такие как os.remove
и os.rename
файл или даже shutil.move
, в некоторых случаях, как показано ниже:
import shutil
with open("/tmp/workfile", "w") as f:
f.write("some stuff")
shutil.move(f.name, "finalfile")
Почемунет такой оболочки, как open для удаления / переименования?
Есть ли лучший, возможно, более питонский способ выполнения вышеупомянутой задачи?
Кажется странным, что приходится импортировать, а не переименовыватьи удалите методы be в f
, укажите его в другом файле.Особенно, когда open()
не требует импорта.
edit: я удалил del f
в конце, который, казалось, раздражал многих людей.Я знаю, что это не нужно.У меня было это, чтобы подчеркнуть, что f
-объект, который больше не указывает на удаленный файл, имеет очень мало смысла.