Ce n'os.chemin d'accès.abspath(os.chemin d'accès.join(os.chemin d'accès.dirname(__file__), de l'os.chemin d'accès.pardir))? python

Dans plusieurs DONC la question est de ces lignes pour accéder au répertoire parent du code, par exemple os.chemin d'accès.join(os.chemin d'accès.dirname(__file__)) ne retourne rien et os.chemin d'accès.join(os.chemin d'accès.dirname(__file__)) ne retourne rien

import os, sys
parentddir = os.path.abspath(os.path.join(os.path.dirname(__file__), os.path.pardir))
sys.path.append(parentddir)

Je comprends que os.path.abspath() retourne le chemin absolu de quelque chose et sys.path.append() ajoute le chemin d'accès le code d'accès. mais qu'est-ce cryptique ligne ci-dessous, ce que cela signifie vraiment?

os.path.abspath(os.path.join(os.path.dirname(__file__), os.path.pardir))

Est-il une autre façon d'atteindre le même but, en y ajoutant le répertoire parent de la où le code?

Ce problème se produit parce que je suis l'appel de fonctions de l'ensemble des répertoires et parfois, ils partagent le même nom de fichier, par exemple script1/utils.py et script2/utils.py. Je suis de l'appel d'une fonction à partir de script1/test.py qui appelle script2/something.py contient une fonction qui s'appelle script2/utils.py et le code suivant

script1/
        utils.py
        src/
            test.py

script2/
        utils.py
        code/
            something.py

test.py

from script2.code import something
import sys
sys.path.append('../')
import utils

something.foobar()

something.py

import os, sys
parentddir = os.path.abspath(os.path.join(os.path.dirname(__file__), os.path.pardir))
sys.path.append(parentddir)
import utils

def foobar():
  utils.somefunc()
Juste une question, vous dites que vous avez besoin de le faire afin de import utils? Je n'ai pas la dernière partie droite.

OriginalL'auteur alvas | 2014-01-08