J'utilise quelques scripts-fus simples écrits dans le schéma de GIMP. (Et c'est le plus que j'ai utilisé de schéma ...)Comment détecter le système d'exploitation avec le schéma GIMP?
Je les utilise sur des machines fonctionnant sous Windows ou Linux. La plupart du temps, ce n'est pas un problème, mais parfois c'est le cas, à savoir quand il s'agit de '\' ou '/' sur les chemins de fichiers.
Existe-t-il un moyen simple de détecter sur quel système d'exploitation GIMP s'exécute, à partir d'un script-fu Scheme? Je n'ai pas trouvé quoi que ce soit sur « Revised^5 Report on the Algorithmic Language Scheme » (mais je ne l'ai pas regardé au bon endroit)
Un truc je peux faire est de vérifier l'existence d'un fichier donné, par exemple, les travaux suivants Comme l'a suggéré Michael Schumacher, j'ai essayé d'utiliser à la fois '/' et '\'.
Sous Windows, cela a fonctionné comme prévu, par ex. pour (fichier jpeg-charge), avec ...
... antislashs (n'a besoin que de leur échapper):
(file-jpeg-load RUN-INTERACTIVE "C:\\Users\\my.user\\Pictures\\test.jpg" "")
... barres obliques:
(file-jpeg-load RUN-INTERACTIVE "C:/Users/my.user/Pictures/test.jpg" "")
.. fonctionne même avec des barres obliques mixtes
(file-jpeg-load RUN-INTERACTIVE "C:/Users\\my.user/Pictures\\test.jpg" "")
Pourtant, pour (fichier glob) il ne fonctionne qu'avec les appropriés antislashs:
(file-glob "C:\\Users\\my.user\\Pictures\\*.jpg" 1) => OK (the file list)
(file-glob "C:/Users/my.user/Pictures/*.jpg" 1) => NOK (empty list)
/devrait également fonctionner sur Windows (même dans l'Explorateur Windows, bien qu'il les change à \ après avoir confirmé un chemin). Cela ne fonctionne-t-il pas pour vous? –
Des trucs comme ça sont tout ce que tu vas faire en utilisant le schéma. (script-fu). Si vous avez l'intention d'écrire des scripts multi-plateformes à part entière, je vous suggère d'écrire vos scripts GIMP en Python à la place. (Détecter le système d'exploitation est une question de 'sys d'importation 'et le nom d'OS est disponible dans la variable' sys.platform' - mais eux, vous n'en avez pas besoin car pour l'accès au fichier, la langue traduit automatiquement "/" "\" si nécessaire sous Windows .. De plus, vous pourriez apprécier le fait que pour assigner une variable, vous écrivez 'the_os =" tout ce que je veux "' '' '(* the_os" value ")). ..) ' – jsbueno
@MichaelSchumacher Oui,/fonctionne sous Windows ... Parfois avec (fichier-jpeg-load), mais pas avec (fichier-glob) Merci de l'avoir signalé, je l'ai ajouté à ma question, pour référence future.Désolé de prendre si longtemps pour suivre mais je n'ai que Windows au travail et seulement aujourd'hui je pourrais prendre un moment pour tester cela –