Comment créer un seul fichier qui apparaîtra dans plusieurs dossiers en même temps?
Si vous avez un grand nombre de dossiers configurés pour votre travail et que vous devez utiliser le même fichier de script pendant la journée de travail, quel est le moyen le plus simple de le faire, au-delà d'un grand nombre de copier-coller? Le message de questions-réponses du SuperUser d'aujourd'hui contient des réponses et des conseils utiles pour un lecteur frustré.
La séance de questions et réponses d'aujourd'hui nous est offerte par SuperUser, une sous-division de Stack Exchange, un groupe de sites Web de questions-réponses dirigé par la communauté..
Capture d'écran fournie par csaveanu (Flickr).
La question
Lecteur superutilisateur Elliot recherche le meilleur moyen de faire en sorte que le même fichier apparaisse dans plusieurs dossiers en même temps:
J'ai plus de 50 dossiers, chacun contenant une grande quantité de données devant être traitées. Tous sont traités en utilisant le même code exact, en utilisant os.path.dirname (os.path.realpath (fichier)) pour obtenir le répertoire dans lequel se trouve le script python, de sorte que l'utilisateur n'ait pas besoin d'une édition manuelle, il lui suffit de double-cliquer sur.
J'ai besoin que le script apparaisse comme s'il se trouvait dans chaque dossier, alors que je ne le modifie qu'une fois, puis, lorsqu'il est exécuté à partir de l'un de ces emplacements, le chemin du dossier est correct. L'alternative consiste à éditer le maître, puis à le coller un dossier à la fois dans les 50 dossiers ou plus à chaque fois que je mets à jour le code, ce qui est très fastidieux et sujet aux erreurs. Sous Linux, je pouvais configurer cela avec un lien symbolique, mais je ne peux pas trouver un moyen de le faire avec Windows..
Sinon, un moyen de coller le fichier dans tous les répertoires cibles à la fois, au lieu d'un à la fois, permettrait d'atteindre le même objectif..
Existe-t-il un moyen de le faire plutôt que de copier et coller le fichier de script, dossier par dossier?
La réponse
Le contributeur de superutilisateur gronostaj a la réponse pour nous:
Tu as besoin d'un Lien symbolique ou un Lien dur.
Liens symboliques (ou Liens symboliques en abrégé) ressemblent beaucoup aux raccourcis: il y a un fichier réel et plusieurs références (Liens symboliques) à cela. Ils ont même cette petite flèche sur les icônes. Contrairement aux raccourcis, Liens symboliques peut avoir n'importe quelle extension.
Liens durs lie un fichier sur un disque dur à un emplacement de l’arborescence. Chaque fichier a au moins un Lien dur, sinon, il n’existerait dans aucun répertoire. Si un fichier a plusieurs Liens durs, l'original ne peut pas être distingué des autres et le fichier n'existe physiquement qu'à un seul endroit.
Les deux ont leurs limites:
- Certains logiciels ne fonctionnent pas bien avec Liens symboliques.
- La suppression du fichier d'origine laisse toute sa Liens symboliques cassé.
- Vous ne pouvez pas Lien dur dossiers (mais vous pouvez créer une jonction de répertoire si un Lien symbolique n'est pas assez).
- Création de partition transversale Liens durs est impossible.
Liens symboliques sont généralement suffisants.
Pour créer un lien symbolique ou un lien physique:
1. Lancer une ligne de commande privilégiée: appuyez sur la touche Clé Windows, type cmd, puis appuyez Ctrl + Maj + Entrée.
2. Émettez la commande mklink:
- mklink link_name link_target pour un fichier Lien symbolique
- mklink / d link_name link_target pour un dossier Lien symbolique
- mklink / h link_name link_target pour un fichier Lien dur
- mklink / j link_name link_target pour un Jonction d'annuaire
Avez-vous quelque chose à ajouter à l'explication? Sound off dans les commentaires. Voulez-vous lire plus de réponses d'autres utilisateurs de Stack Exchange doués en technologie? Découvrez le fil de discussion complet ici.