Salut,
Etant en train de finaliser un petit outil en ligne de commande, je rencontre quelques difficultés avec la distribution. Imaginons un assembleur en ligne de commande avec un seul paramètre, le nom du fichier a assembler. Si l'assembleur s'appelle asm.exe et le fichier à assembler hello.asm, une fois que le répertoire de l'assembleur est ajouté au PATH, on peut tout à fait se positionner dans le répertoire du projet assembleur à partir du prompt (ici sous Windows, mais le principe semble universel) et taper la commande:
d:/sources/asm6502/hello> asm hello.asm
L'assembleur est trouvé dans le PATH et arrive à assembler le fichier source.
En python, l'assembleur est trouvé et lancé, le chemin vers le fichier source est conservé... Mais si l'assembleur a besoin de fichiers annexes comme un numéro de version ou autre chose, il n'y a pas trace du répertoire de l'assembleur...Ai-je raté quelque chose? Quelqu'un a une idée?
A+
Pfeuh
Code asm.py : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 import sys import os try: with open("version.txt", "r") as fp: version = fp.read(-1) print "%s version %s"%(sys.argv[0], version) print "working directory is", os.getcwd() print "command line is \"%s\""%" ".join(sys.argv) if len(sys.argv) > 1: with open(sys.argv[1], "r") as fp: text = fp.read(-1) print text else: print "an argument is mandatory!" except Exception as (errmsg): print errmsg raw_input("Hit RETURN")
Code version.txt : Sélectionner tout - Visualiser dans une fenêtre à part A.01.02.03
Code setup.py : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 import distutils import py2exe import sys import os import shutil DIST_NAME = "dist" # don't change it! sys.argv = [__file__, "py2exe"] print sys.argv distutils.core.setup(console=["asm.py"], name="asm.exe") shutil.copy ("version.txt", os.path.join(DIST_NAME, "version.txt"))
Partager