Bonjour,
Je m'excuse, je ne sais pas si je poste au bon endroit, mais je recherche a faire un Makefile qui ferrais:
pour chaque fichier .ui dans le repertoire courant.Code:pyuic4 xxx.ui > xxx.py
Merci d'avance.
Cordialement,
Version imprimable
Bonjour,
Je m'excuse, je ne sais pas si je poste au bon endroit, mais je recherche a faire un Makefile qui ferrais:
pour chaque fichier .ui dans le repertoire courant.Code:pyuic4 xxx.ui > xxx.py
Merci d'avance.
Cordialement,
Bonjour, n'ayant pas de système linux sous la main et ne créant pas souvent de Makefile, je suis allé voir ce lien http://gl.developpez.com/tutoriel/outil/makefile/.
Je ne sais pas si ça fonctionne mais voici ce que je pense être une solution :
Pour faire en sorte de le faire de manière automatique (sans mettre chaque fichier un par un), une commande find avec un exec peut-être la solution la plus simple. Je ne peut pas tester car mon laptop linux a perdu un HDD (et mes données avec).Code:
1
2
3
4
5
6
7
8
9
10
11 all: dep1 dep2 dep3 dep1: pyuic4 xxx.ui > xxx.py dep2: pyuic4 xxx2.ui > xxx2.py dep3: pyuic4 xxx3.ui > xxx3.py
'lut,
Pourquoi ne le fais-tu pas en python ?
Merci de vos réponsses!
@ashren c'est vrai que c'est une solution.
@Vinss Je ne savait pas qu'on pouvais le faire en python, comment fait-on ?
Comme ça:
C'est donc dans le dossier local, sinon tu modifies.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 # -*- coding: utf-8 -*- import glob import subprocess def get_files(): return glob.glob('*.ui') def make_py(cmd): subprocess.Popen(cmd, universal_newlines=True, stdout=subprocess.PIPE).communicate() def build_command(name, exc=False): if exc: return ['pyuic4', '-x', name, '-o', name[:-2] + 'py'] return ['pyuic4', name, '-o', name[:-2] + 'py'] if __name__ == '__main__': files = get_files() for idx, f in enumerate(files): print 'Process file: {0} ({1}-{2})'.format(f, idx+1, len(files)) make_py(build_command(f, True)) print 'Done'
dans la ligne,Code:make_py(build_command(f, True))
le 'True' sert à rajouter les lignes rendant le script exécutable, l'option '-x'.
Merci j'ai pris une belle leçon de python aujourd'hui!