tcl - comment trouver le chemin d'accès de paquet chargé?
Dans tcl
comment trouver le chemin du package chargé?
% tclsh
% package require csv
Je veux trouver le chemin d'accès à partir de laquelle csv
a été chargé.
En python, on peut trouver le chemin d'accès d'un module à l'aide de
>>> import os
>>> print os.__file__
'/a/b/python2.2.1/linux26_x86_64/lib/python2.2/os.pyc'
Je suis à la recherche d'une commande similaire dans tcl
OriginalL'auteur Anand | 2012-05-30
Vous devez vous connecter pour publier un commentaire.
Il n'est pas simple: un paquet en Tcl semble être une chose de plus abstrait que celui en Python.
Tout d'abord, il existe deux types de packages: "classique" et "modules" qui ont différents mécanismes sous-jacents pour trouver de quoi charger en réponse à la
package require ...
commande.Prochaine, les deux types de forfaits sont en mesure de faire ce qu'ils souhaitent fournir à leurs fonctionnalités. Cela signifie qu'ils peuvent être (mais pas limité à):
source
'ing juste un Tcl fichier ou n'importe quel nombre de fichiers.load
ed lorsque le package est nécessaire.D'où la question a en soi que peu de sens en tant que seul modules sont représentés par exactement un fichier autonome, mais "classique", les colis sont libres de mettre en œuvre eux-mêmes comme ils l'entendent.
D'autre part, chaque paquet fournit normalement (à l'aide d'une manière ou d'une autre) de certaines informations pour l'emballage de sous-système qui peuvent être récupérées (et interprété) à l'aide de la
package ifneeded
de commande. Par exemple, sur mon système Windows avec ActiveState Tcl 8.5.x, j'ai:Noter que ce
package ifneeded
retours est juste un script Tcl qui est destiné à êtreeval
zanne, sise à obtenir le package chargé, de sorte que l'analyse de cette information est lié intrinsèquement ad-hoc et fragile.+1 pour être définitif.
Aussi, peut avoir plusieurs versions d'un paquet installé.
package names
produit une (non triées) liste des paquets disponibles, etpackage versions $pkg
produit une (non triées) liste des versions d'un paquet disponible. a son propre chargeur de script.Fonctionne comme un charme. Merci.
OriginalL'auteur kostix
Pour Tcl paquets, vous pouvez afficher la liste de tous les loadedable chemin dirs par la commande:
OriginalL'auteur syox