Skip to main content

Python does not use filenames anymore to support reading from a zip file. This library is deprecated and has been removed from pypi.

Provided functions

  • files - importlib.resources files this function is the standard for retrieving resources for Python 3.9+

  • as_file - context manager for retrieving a true filepath for Python 3.9+.

  • my_dir - Return the directory this module is in. This should exist even in an executable.

  • my_path - Return the path to the module that called this method. This may not exist in an executable

Example

# my_interface.py
# sdl2 with sld2.dll in package
# File Structure:
#     my_sdl/
#         sdl2_dll_path/
#             SDL2.dll
#         __init__.py
#         my_interface.py
import os
from module_path import files, as_file

with as_file(files('my_sdl').joinpath('sdl2_dll_path/SDL2.dll')) as sdl_path:
    os.environ.setdefault('PYSDL2_DLL_PATH', os.path.dirname(str(sdl_path)))
    import sdl2

# Use sdl2
assert sdl2 is not None
check_path/
    __init__.py
    main.py
    check_sub_path
         __init__.py
         fakedata.txt
# check_path/check_sub_path/__init__.py
import os
import module_path

MY_DIR = module_path.my_dir()
DATA = os.path.join(MY_DIR, 'fakedata.txt')
EXISTS = os.path.exists(DATA)
# check_path/main.py
import module_path
try:
    from check_path.check_sub_path import MY_DIR, DATA, EXISTS
except (ImportError, Exception):
    from check_sub_path import MY_DIR, DATA, EXISTS


if __name__ == '__main__':
    path = module_path.my_path()
    directory = module_path.my_dir()
    print('path   \t', path, module_path.exists(path))  # Should be false with executable
    print('dir    \t', directory, module_path.exists(directory))

    print('sub_dir\t', MY_DIR, module_path.exists(MY_DIR))
    print('DATA   \t', DATA, EXISTS)

Build the executable with

pyinstaller --name check_path -y --add-data "check_path/check_sub_path/fakedata.txt;check_path/check_sub_path/" check_path/main.py

After pyinstaller builds you will have a dist directory. The data for this example should be stored in dist/check_path/check_path/check_sub_path/fakedata.txt

Metadata

Release files for module-path 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for module-path 1.0.1
File Size Uploaded
module_path-1.0.1.tar.gz 4.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for module-path 1.0.1
File Interpreter ABI Platform
module_path-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 11.2 kB

Release files / module_path-1.0.1.tar.gz

Download URL module_path-1.0.1.tar.gz
Size 4.8 kB
Tags Source
SHA-256 checksum
How to use checksums
9520c328eec33fdfa82ae26c52ec748755de3505d901e98ab4a5010a106f1840
BLAKE2b-256 checksum
How to use checksums
61e046411ec387217d119d2d2763d54e6510dbf13078ece1ea07c584d71117c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.8

Release files / module_path-1.0.1-py3-none-any.whl

Download URL module_path-1.0.1-py3-none-any.whl
Size 6.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f0d13df260c13803a03689366f35b114e15bbb15e086a5a7073f9220f2abb047
BLAKE2b-256 checksum
How to use checksums
1870c5968c1c2f31ae829550d6e0fdf0d714a04acb76ebc34db8703f6aa3fbc7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.8

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page