Python au démarrage

Python est le langage de prédilection du Raspberry Pi

Modérateurs : Francois, Manfraid

Répondre
fred
Messages : 4
Enregistré le : lun. 29 juin 2015 19:05
Localisation : Tours

Python au démarrage

Message par fred » lun. 29 juin 2015 19:31

Bonjour,
J'ai fais un "vulgaire" script Python, qui converti quelques touches en majuscule. J'utilise la library curses. Le script fonctionne quand je le lance avec python ce_script.py. Quand je mets cette ligne dans le script de demarrage /etc/rc.local, il se lance mais ne fonctionne pas, toutes les lettres sont en minuscule. Quand j'appuie sur Return, ce que je viens de tapper en minuscule se réaffiche en majuscule !!!?
Pourquoi 2 fonctionnements differents quand il est en demarrage auto et en demarrage manuel !!!?

Code : Tout sélectionner

#!/usr/bin/python
# coding: utf8


import curses


stdscr = curses.initscr()
curses.noecho()
curses.cbreak()

stdscr.keypad(1)



while 1:
	c=stdscr.getch()

	if c == curses.KEY_HOME:
		break
	elif chr(c).upper() in "ABCDEFGHIJKLMNOPQRSTUVWXYZ .0123456789":
		stdscr.addch(chr(c).upper())
		stdscr.refresh()



curses.nocbreak()
stdscr.keypad(0)
curses.echo()
curses.endwin()
Merci d'avoir pris le temps de me lire.
Cordialement
Fred
Un problème mal défini a une solution mal adaptée

Avatar du membre
Manfraid
Modérateur
Messages : 1402
Enregistré le : ven. 3 oct. 2014 14:50
Contact :

Re: Python au démarrage

Message par Manfraid » lun. 29 juin 2015 19:54

Salut,

petite question pourquoi cherche tu a faire cela ?

et l'autre soucis c'est que je ne suis pas sur que tu puisse lancer curses au démarrage, je te conseille plutôt au moment ou tu te logue avec ton user cela serai mieux
NAS : DIY OS Debian: DD250Go + 3x2To + 6To
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.

fred
Messages : 4
Enregistré le : lun. 29 juin 2015 19:05
Localisation : Tours

Re: Python au démarrage

Message par fred » lun. 29 juin 2015 20:37

Bien sur un script, juste pour passer en majuscule.... non! au final, si ça se termine, le raspi deviendra un terminal accroché a une machine qui tourne sous iRMX.

J'ai trouvé une solution. Je ne comprends pas pourquoi mais, le meme script Python, lancé au boot depuis:
/etc/rc.local ne fonctionne pas
/etc/profile fonctionne
Un problème mal défini a une solution mal adaptée

Avatar du membre
Manfraid
Modérateur
Messages : 1402
Enregistré le : ven. 3 oct. 2014 14:50
Contact :

Re: Python au démarrage

Message par Manfraid » lun. 29 juin 2015 21:23

cela est normal le /etc/profile et lancer a la connexion de l'utilisateur et non pas au démarrage de l'os comme dans le /etc/rc.local
NAS : DIY OS Debian: DD250Go + 3x2To + 6To
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.

fred
Messages : 4
Enregistré le : lun. 29 juin 2015 19:05
Localisation : Tours

Re: Python au démarrage

Message par fred » mar. 30 juin 2015 04:49

Merci pour les explications, mais je pense que c'est plus compliqué que ça, puisque dans les 2 cas mon script est lancé mais quand il est lancé a partir de /etc/rc.local il fonctionne différemment de quand il est lancé a partir de /etc/profile.
Dans les 2 cas il n'y a pas de plantage python qui ne trouverait une librairie...
Bon on va pas s'arracher, ça fonctionne en le lançant a partir de /etc/profile, tes explications me vont.
Si ça peut aider qq.

Merci encore
Un problème mal défini a une solution mal adaptée

Avatar du membre
vague nerd
Modérateur
Messages : 1473
Enregistré le : mar. 14 oct. 2014 11:42
Localisation : France !

Re: Python au démarrage

Message par vague nerd » mar. 30 juin 2015 11:48

Bonjour.
Autres pistes :
-répertoires d'exécutions différents
-script s'appuyant sur des librairies différentes selon le mode de lancement
-script s'appuyant sur des variables d’environnements
-script fonctionnant différemment selon le user
-...
Il y a malheureusement plein de possibilités !

Si vous voulez chercher le fin mot de l'histoire, je pense que le plus simple serait d'essayer de reproduire les comportements "à la main" (en lançant le script avec différents users, depuis différents répertoires d'exécution, en relatif ou en absolu...).
Cdt.
Cordialement,

Vague Nerd

Répondre

Retourner vers « Python »