Skip to content

Instantly share code, notes, and snippets.

@serafdev
Created November 1, 2022 15:27
Show Gist options
  • Save serafdev/101ab6af47004bdbcb87bb2927e7e705 to your computer and use it in GitHub Desktop.
Save serafdev/101ab6af47004bdbcb87bb2927e7e705 to your computer and use it in GitHub Desktop.
Relative Paths Python
~/Code/test via 🐍 v3.10.7
❯ cat folderA/lib.py
def test():
print("Test")
~/Code/test via 🐍 v3.10.7
❯ cat folderB/folderC/folderD/app.py
import os, sys
sys.path.append(os.path.join(os.path.dirname(__file__), '../../../'))
from folderA.lib import test
test()
~/Code/test via 🐍 v3.10.7
❯ python folderB/folderC/folderD/app.py
Test
@serafdev
Copy link
Author

serafdev commented Nov 1, 2022

Or:

~/Code/test via 🐍 v3.10.7 took 2s
❯ cat folderA/lib.py
def test():
    print("Test")

~/Code/test via 🐍 v3.10.7
❯ cat folderB/folderC/folderD/app.py
from typing import Callable
def test2(c: Callable[[], None]):
    c()

~/Code/test via 🐍 v3.10.7
❯ cat main.py
from folderA.lib import test
from folderB.folderC.folderD.app import test2

test2(test)

~/Code/test via 🐍 v3.10.7
❯ python main.py
Test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment