#1 Le 13/04/2020, à 11:29
- zigroful1
Rendre l'EDI scite (scintilla) interactif
je travaille sur linux (ubuntu 18.04 LTS) et j'ai installé scite comme editeur. Quand je lance un script avec scite, et qu'il est prévu que ce script s'arrête et me donne la main pour que j'entre des donnees, il ne le fait pas. Y a-t-il moyen de rendre scite interactif ?
Par exemple: je fais un script tout simple (en bash par exemple, dans un fichier avec suffixe sh) qui me demande Qui es-tu ?
L'ecran de sortie n'affiche rien et pourtant le code de sortie est bien 0, càd que tout s'est bien passé !
Quand je lance le même script à partir de la console, tout se passe bien : J'arrive au prompt et je peux entrer ma réponse sans pb !
Quelqu'un sait-il comment modifier les fichiers de config pour que je puisse reprendre la main et entrer lles données ?
Je ne parle pas ici des arguments entrés en ligne de commande, mais des données à entrer en cours d'exécution !
Hors ligne
#2 Le 07/05/2020, à 15:40
- ptitjoz
Re : Rendre l'EDI scite (scintilla) interactif
tu as un exemple de ton script ?
Hors ligne
#3 Le 08/05/2020, à 08:57
- zigroful1
Re : Rendre l'EDI scite (scintilla) interactif
Voici un exemple en python pour tester si une année est bissextile.Quand je lance ce script avec Scite, Scite n'affiche pas, dans le panneau de résultat (fenêtre Outpane), "Saisissez l'annee" et ne me donne pas la main pour que je puisse entrer l'année.
Il affiche simplement le code d'erreur 0 signifiant qu'il n'y a pas d'erreur. Alors que le même script lancé avec Geany, ouvre une fenêtre Xterm dans laquelle il affiche "Saisissez l'année" et attend que je la saisisse pour me donner le résultat dans cette même fenêtre, que je referme qd tout est OK !
Voici le script:
#!/usr/bin/python3
# -*-coding:Utf-8 -*
annee=input("Saisissez l'année : ")
annee=int(annee)
if annee%4==0 or(annee%4==0 and annee%100 !=0):
print("L'année ", annee , " est bissextile")
else:
print("L'année ", annee , " n'est pas bissextile")
Hors ligne
#4 Le 08/05/2020, à 09:17
- ptitjoz
Re : Rendre l'EDI scite (scintilla) interactif
Ok je regarde et te dis
à bientôt
Hors ligne
#5 Le 08/05/2020, à 11:05
- ptitjoz
Re : Rendre l'EDI scite (scintilla) interactif
Pour faire simple je ne pense pas que l'EDI de SciTE permette la saisie de prompt directement.
Par contre il peut ouvrir une console.
j'ai renommé ton fichier bissextile.sh en bissextile.py puisque c'est un programme python.
et là ça fonctionne car ça ouvre un terminal pour demander les arguments
Dernière modification par ptitjoz (Le 08/05/2020, à 11:05)
Hors ligne
#6 Le 08/05/2020, à 15:52
- zigroful1
Re : Rendre l'EDI scite (scintilla) interactif
Mais qu'as-tu fait pour que ça ouvre un terminal ? J'ai relancé mon script qui est bien un fichier en .py et rien ne se produit ! Et ce n'est pas le 1er script python qui a ce problème, ni les scripts dans un autre langage (sh, awk, etc...). J'ai plutôt l'impression qu'il manque qq chose à mon fichier de configuration de Scite pour faire en sorte que ce dernier ouvre un terminal dès qu'il rencontre un prompt dans le script. Le problème est que je ne trouve pas où, dans les fichiers de config de Scite, se situe l'instruction demandant l'ouverture de la console !
Hors ligne
#7 Le 08/05/2020, à 17:47
- ptitjoz
Re : Rendre l'EDI scite (scintilla) interactif
ah oui j'avais bricolé python.properties... (à adapter...)
dis moi si ça fonctionne
if PLAT_GTK
#command.go.*.py=python -u "$(FileNameExt)"
#command.build.SConscript=scons --up .
#command.build.SConstruct=scons .
command.go.*.py=qterminal -e "python -u $(FileNameExt)"
Hors ligne
#8 Le 08/05/2020, à 18:33
- zigroful1
Re : Rendre l'EDI scite (scintilla) interactif
J'ai bien modifié le fichier python.properties comme tu me l'as dit (en mettant des dièses devant les 3 premières lignes du § PLAT GTK et rajouté la dernière) et j'ai lancé.
Il affiche sur la fenêtre Outpane ce message:
>qterminal -e "python -u bissextile.py"
/bin/sh: 1: qterminal: not found
>Exit code: 127
Hors ligne
#9 Le 09/05/2020, à 09:07
- ptitjoz
Re : Rendre l'EDI scite (scintilla) interactif
Bonjour,
qterminal n'est pas installé sur ton ordi !
Soit tu remplaces par le nom de celui que tu utilises (peut-être xterm ou autre)
Soit tu installes qterminal
Dernière modification par ptitjoz (Le 09/05/2020, à 09:08)
Hors ligne
#10 Le 10/05/2020, à 11:04
- zigroful1
Re : Rendre l'EDI scite (scintilla) interactif
Bonjour ptitjoz,
Grâce à l'indication que tu m'as donnée, j'ai trouvé.
gnome-terminal est installé chez moi. Mais l'option -e est obsolète. J'ai trouvé, dans ce forum, comment s'en sortir. Il faut remplacer la dernière ligne du § PLAT_GTK par:
command.go.*.py=gnome-terminal -- bash -c "python -u $(FileNameExt); bash"
ça a l'air de marcher correctement chez moi !
Mais pourrais-tu me dire ce que qterminal apporte de plus que gnome-terminal ?
En tous cas, merci beaucoup, cela faisait quelques mois que je cherchais une solution à ce problème !
Hors ligne
#11 Le 10/05/2020, à 16:48
- ptitjoz
Re : Rendre l'EDI scite (scintilla) interactif
Tout simplement parce que sous Lubuntu c'est le terminal par défaut (avant c'était lxterminal de mémoire)
Hors ligne