Bonjour à tous et bonne année 2018 !!!
Je me permets d'ouvrir un topic car je n'ai malheuresement pas trouvé la réponse à ma question dans le forum
Je suis sous linux et j'écris un script python me permettant de lancer automatiquement les sous-routines que j'ai concernant du milieu poreux.
Mon problème c'est que je lance la dernière qui attend 4 arguments dans mon terminal :
1 pour le mode de traitement
0 le numéro du premier fichier à traiter
62 le numéro du dernier fichier à traiter
1 le pas pour traiter tous les fichiers
J'aimerai automatiser ceci sachant que je n'ai accès qu'à l'éxécutable et ne peut pas le modifier.
J'ai essayé plusieurs méthodes ( relier les commandes avec ; || ou &&) mais rien n'y fait, l'éxécutable bloque et attend ces arguments.
Voici mon code
Je vous souhaite une bonne journée !
Code : 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
24
25 while i<len(angles): os.system('mkdir AVALANCHE_'+str(angles[i])) os.system('cd AVALANCHE_'+str(angles[i])) os.chdir('/work/granulaire_2/GRADYM_POUR_ETUDIANTS/CALCULS/AVALANCHE_'+str(angles[i])) os.system("cp ../INITIALISATION_LIT/gradym.x .") os.system("cp ../INITIALISATION_LIT/final.bin .") os.system("cp ../INITIALISATION_LIT/sphe.reli.forceBin.bin .") os.system("cp ../INITIALISATION_LIT/sphe.reli.forceMur.bin .") os.system("cp final.bin in_sim.bin") os.system("cp ../../POST_PROCESSING/POST_VISU/post_visu.x .") os.system("cp ../../POST_PROCESSING/POST_MATLAB/lecture_position_vitesse_dat.m .") fichier=open('sphe.dem','w') fichier.write(debut) fichier.write(str(round(sin_angle[i],4))+" "+str(round(-cos_angle[i],4))+" 0. 0") fichier.write("\n") fichier.write(fin) fichier.close() os.system('./gradym.x') os.system('./post_visu.x && 1 && 0 && 62 && 1') #ligne qui pose probleme car non automatisée os.system("cd ..") os.chdir('/work/granulaire_2/GRADYM_POUR_ETUDIANTS/CALCULS') i=i+1
Merci d'avance !
Partager