Je souhaite extraire la matrice de rigidité d'un élément du fichier d'entrée Abaqus. le contenu des dernières lignes du fichier sont les suivants:comment insérer une ligne spécifique avant une autre ligne, dans un fichier texte avec python et sans insérer de lignes vides entre les lignes?
**
** OUTPUT REQUESTS
**
*Restart, write, frequency=0
**
** FIELD OUTPUT: F-Output-1
**
*Output, field, variable=PRESELECT
*End Step
afin d'extraire la matrice de rigidité de l'élément à partir d'un fichier d'entrée, nous devrions la ligne suivante dans le fichier d'entrée, à savoir la ligne avant de la ((* End Step)) ligne:
*ELEMENT MATRIX OUTPUT,ELSET=m,STIFFNESS=YES,MASS=NO,OUTPUTFILE=USER
Je veux ajouter cette ligne dans mon fichier d'entrée par le langage python qui est le langage de script de logiciels Abaqus. J'essaie le code suivant dans un autre fichier texte pour tester ce code, mais après l'exécution de ces lignes, entre deux lignes, il insère une ligne vide dont je ne veux pas cette ligne vide: (dans le code suivant, je viens de veulent montrer que, d'autres codes créent des lignes vides)
import fileinput
processing_foo1s = False
for line in fileinput.input('Input8.inp', inplace=1):
if line.startswith('*Output,'):
processing_foo1s = True
else:
if processing_foo1s:
print ('foo bar')
processing_foo1s = False
print (line,)
Cher Yaroslav, je ne travaille pas avec la ligne ((* Sortie)), le code que j'ai mentionné ci-dessus était juste et exemple. Je travaille avec la dernière ligne, c.-à-d. ((* End Step)) – Samanradnia
Je veux ajouter le ((* SORTIE MATRICE D'ÉLÉMENT, ELSET = m, RIGIDITÉ = OUI, MASS = NON, OUTPUTFILE = USER)) line befor the (((* Fin étape)) ligne. Pourriez-vous corriger le code que vous avez mentionné? – Samanradnia
@Samanradnia, j'ai ajouté une explication de code ligne par ligne, vous ne savez vraiment pas où vous avez besoin de le changer pour obtenir le résultat souhaité? –