Я использую официальные библиотеки от pypi, которые в значительной степени полагаются на os
lib для open, isfile, makedirs и т. Д., Которые ограничены, если вы хотите работать с GCS, S3 или другими облачными хранилищами. Я не хочу связываться с внутренними компонентами официальных библиотек, но у меня есть быстрый патч, который заставит все импортированные библиотеки вернуться к моей реализации. Скажем, os.path.isfile = my_isfile_fun
, но только когда path
начинается с gs://
или s3://
, в противном случае он использует стандартную библиотеку (я не хочу полностью ее ломать). Есть способ сделать это? Кроме того, я не хочу изменять всю библиотеку, а только некоторые функции.
Вот сценарий
import some_pypi_module # <--- it uses os library
some_pypi_module.save(path) # <--- is saves to the path on disk using os library
Мой желаемый сценарий
# do something to patch os
#
import some_pypi_module # <--- it uses modified os library
some_pypi_module.save(path) # <--- is saves to the path on disk using modified os library and now can understand gs://