9

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?

Michael_H
  • 842
  • 10
  • 22
  • What is file_resources here? – jjmerelo May 11 '21 at 06:34
  • 1
    file_resources is a python package containing the file IWNLP.Lemmatizer_20181001.json. Here is an example project: https://github.com/michaelhochleitner/importlib_resources_test . – Michael_H May 11 '21 at 09:30

1 Answers1

8
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 .

Michael_H
  • 842
  • 10
  • 22