Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use importlib.resources.path(package, resource)?

I'm creating a _GeneratorContextManager with the following code.

try:
    import importlib.resources as pkg_resources
except ImportError:
    # Try backported to PY<37 `importlib_resources`.
    import importlib_resources as pkg_resources
from . import file_resources

package_path= pkg_resources.path(file_resources, "IWNLP.Lemmatizer_20181001.json")

Here is the debugger view of the variable package_path.

debugger view of variable package_path

Now I want to pass the path of the file "IWNLP.Lemmatizer_20181001.json" to another function:

 lemmatizer = IWNLPWrapper(lemmatizer_path=package_path)

The documentation says "The context manager provides a pathlib.Path object". How can I access the pathlib.Path object?

like image 865
Michael_H Avatar asked Feb 04 '23 16:02

Michael_H


1 Answers

with pkg_resources.path(file_resources, "IWNLP.Lemmatizer_20181001.json") as p:
    package_path = p

p is a variable of type PosixPath and contains the full path to the file IWNLP.Lemmatizer_20181001.json. See https://docs.python.org/3.8/library/pathlib.html#pathlib.Path .

like image 54
Michael_H Avatar answered Feb 06 '23 06:02

Michael_H