Outils pour utilisateurs

Outils du site


python:les_modules

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
python:les_modules [2014/01/30 20:45] – [Fabric] rootpython:les_modules [2017/06/03 13:08] (Version actuelle) – [readline] root
Ligne 401: Ligne 401:
         os.system('firefox https://%s/' % env.host)         os.system('firefox https://%s/' % env.host)
 </code> </code>
 +
 +===== readline =====
 +
 +<code python readline.py>
 +import readline, signal
 +prompt = 'GigiX > '
 +
 +def signal_handler(signal, frame):
 +    print
 +    input(prompt)
 +    return
 +
 +signal.signal(signal.SIGINT, signal_handler)
 +readline.parse_and_bind("tab: complete")
 +
 +class completer:
 +        def __init__(self, tree):
 +            self.tree = tree
 +
 +        def _parser(self, line, search):
 +            if (search is None) or (callable(search) == True):
 +                return []
 +            elif len(line) == 0:
 +                return [x for x in search]
 +            elif len(line) == 1 and readline.get_line_buffer()[-1] != ' ':
 +                return ['%s ' % x for x in search if x.startswith(line[0])]
 +            else:
 +                return self._parser(line[1:], search[line[0]])
 +            return []
 +
 +        def complete(self, text, state):
 +            line = readline.get_line_buffer().split()
 +            results = self._parser(line, self.tree)
 +            return results[state]
 +
 +def linux_sles_12():
 +    print('Je suis Linux SLES 12')
 +
 +tree = {
 +    'unix': {
 +        'solaris': {
 +            '8':None,
 +            '9':None,
 +            '10':None,
 +            '11':None,
 +        }
 +    },
 +    'linux': {
 +        'debian': {
 +            'buzz':None,
 +            'rex':None,
 +            'bo':None,
 +            'hamm':None,
 +            'slink':None,
 +            'patato':None,
 +            'woody':None,
 +            'sarge':None,
 +            'etch':None,
 +            'lenny':None,
 +            'squeeze':None,
 +            'wheezy':None,
 +            'jessie':None,
 +    },
 +        'RHEL': {
 +            '3':None,
 +            '4':None,
 +            '5':None,
 +            '6':None,
 +            '7':None,
 +        },
 +        'SLES': {
 +            '9':None,
 +            '10':None,
 +            '11':None,
 +            '12':linux_sles_12,
 +        }
 +    },
 +    'windows': {
 +        'xp':None,
 +        'vista':None,
 +        'seven':None,
 +        '8':None,
 +        '10':None,
 +    }
 +}
 +
 +readline.set_completer(completer(tree).complete)
 +l = ''
 +while l != ('quit' or 'exit'):
 +    try:
 +            l = input(prompt)
 +            eval("tree['"+"']['".join(l.split())+"']()")
 +    except EOFError:
 +            print('Bye')
 +            break
 +    except:
 +        continue
 +</code>
 +
 ===== Twisted ===== ===== Twisted =====
  
Ligne 428: Ligne 527:
 import ctypes, ctypes.util import ctypes, ctypes.util
  
-ctypes.cdll.LoadLibrary(ctypes.util.find_library('c'))+libc=ctypes.cdll.LoadLibrary(ctypes.util.find_library('c'))
 libc.printf("uid = %d - gid = %d\n", libc.geteuid(), libc.getgid()) libc.printf("uid = %d - gid = %d\n", libc.geteuid(), libc.getgid())
 </code> </code>
python/les_modules.1391114751.txt.gz · Dernière modification : 2014/01/30 20:45 de root