2016-10-01 6 views
0

J'ai créé un paquet Python et l'ai installé localement. En utilisant la commande pip install . .Dans mon package, il est nécessaire d'ouvrir un fichier comme celui-ci.Ouvrir un fichier dans le répertoire du paquet au lieu de l'ouvrir à partir du répertoire courant

open('abc.txt','r+') 

Mais mon problème est qu'il est essayer d'ouvrir le fichier dans le répertoire de travail au lieu de directory.I installé de paquet penser chemin absolu ne va pas résoudre mon problème.

Donc, ma question est, Comment ouvrir un fichier à l'intérieur du paquet?

NB: Pendant que je cherchais à ce sujet j'ai vu que os.sys.path peut aider. Mais je n'ai pas eu de solution claire.

Merci,

+0

double possible de [Python: Comment lire un fichier (statique) à l'intérieur d'un paquet] (http: // stackoverflow. com/questions/6028000/python-comment-lire-un-static-file-from-inside-a-package) –

Répondre

1

Vous pouvez essayer comme ceci:

import os 
import inspect 

def open_file(filename): 
    pkg_dir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))) 
    return open(pkg_dir + "/" + filename,'r+')