Ich habe eine Frage zu meinem Skript. Ich schreibe einen Code, der automatisch eine Liste von Eingabedateien durchläuft. Diese Liste ist eine Textdatei wie folgt aus:Öffnen Sie eine zweite Datei in einer Schleife
E: \ New_Fields \ Field230_traitement_1.fits
E: \ New_Fields \ Field235_traitement_1.fits
E: \ New_Fields \ Field214_traitement_1.fits
...
Mein Skript liest diese Datei und verarbeitet jede Datei in der Liste:
with open("C:\Users\Valentin\Desktop\Stage M2\liste_traiteXY.txt", "r") as f :
fichier_entier = f.read()
files = fichier_entier.split("\n")
for fichier in files :
with open(fichier, 'r') :
outname = filename.replace('dereddenedXY.fits', 'Distribution_etoiles.png')
outname2 = filename.replace('dereddenedXY.fits', 'Carte_densite_nonlisse.png')
outname3 = filename.replace('dereddenedXY.fits', 'Carte_densite_lisse.png')
outname6 = filename.replace('dereddenedXY.fits', 'Histogramme2D_heatmap.png')
outname7 = filename.replace('dereddenedXY.fits', 'Masque_brut.png')
outname8 = filename.replace('dereddenedXY.fits', 'Masque_convolue.png')
outname10 = filename.replace('dereddenedXY.fits', 'SN_map.png')
outname11 = filename.replace('dereddenedXY.fits', 'Histogramme_SN_map.png')
outname12 = filename.replace('dereddenedXY.fits', 'SN_map_final.png')
outname15 = filename.replace('dereddenedXY.fits', 'resume.png')
print "Fichier traité\n : " + fichier
reading = fits.open(fichier) # Ouverture du fichier à l'aide d'astropy
tbdata = reading[1].data # Lecture des données fits
# PROCESS
Aber während des Prozesses, ich brauche eine neue Eingabedatei zu öffnen, in dem der Pfad wie folgt festgelegt:
filename = 'E: \ New_Fields \ Field169_mask.fits'
Ich möchte keine Liste von Maskendateien erstellen, da die Reihenfolge nicht die gleiche wie die erste Liste ist. Meine Frage ist, wie kann ich die Maske öffnen, die der Bearbeitungsdatei entspricht?
Zum Beispiel ist die erste Eingabedatei: Field230_traitement_1.fits, also möchte ich in der Schleife die Datei hochladen: Field230_mask.fits. Dann machen die gleiche Sache mit der Datei Field235 etc ...
Hoffentlich klar sein :)
Thank you!
Und wie ist es möglich, die gute Datei 2 (Maske) mit der Datei 1 (Traitement) zu verknüpfen? Das heißt, nehmen Sie automatisch "Field230_mask.fits", wenn es "Field230_traitement_1.fits" ist, nehmen Sie "Field158_mask.fits", wenn es "Field158_traitement_1.fits" usw. ist. – Deadpool
Wenn die Namen vorhersehbar sind, gibt es in Ihrem Fall keine Probleme Der Name ist ''FieldXXX' + '_' + 'traitement_1'' oder' +' mask'. Mit split() können Sie also "FieldXXX" extrahieren. Sobald Sie das haben, wird die Maskendatei ''FieldXXX' + '_' + 'mask''und die Traitement-Datei wird'' FieldXXX '+' _ '+' traitement_1'' sein. –
Ok, danke für Ihre Antwort! Ich werde deine Idee versuchen und ich werde zurückkommen, wenn ich Probleme bekomme;) Ich stelle die Frage wie gelöst auf den Moment;) – Deadpool