Mehrere Dateien (über 400) in mehrere Dateien (dynamisch) zusammenfassen ?
Verfasst: Montag 24. August 2020, 22:37
Hallo zusammen,
ich stehe vor dem Problem das ich mehrere Dateien mit numerisch aufsteigenden Dateinamen in wiederum mehrere Dateien , auch mit numerisch aufsteigenen Dateinamen zusammenfügen möchte.
Die quelldateien haben z.b. die Namen :
s 1 m 3940
s 1 m 3945
s 1 m 3950
etc bis
s 1 m 5060
nun möchte ich die Dateien zusammenfügen so das nachher in 200er Schritten die Dateinamen auftauchen was dann wäre : (startend dann bei einer niedrigeren Nummer damit das verarbeitende System damit umgehen kann) , dies und das zugehörige padden am anfang habe ich auch bereits erfolgreich implementiert
s 1 m 3800
s 1 m 4000
s 1 m 4200
etc
für das erste neue paket schreibe ich die zusammenzufügenden Dateinamen in eine Liste und verarbeite diese dann mit :
Mir fehlt jedoch die Idee wie ich die folgenden Dateien ab "s 1 m 4000 bis s 1 m 5060" in einer schleife erstellen lasse und dann bei 4195 den break mache um die datei zu erstellen, und die schleife dann bei 4200 die liste mit neuen dateinamen füllt um bei 4395 dann wiederrum die nächste datei zu erstellen usw
quasi eine Schleife die vergleicht solange "firstmsgpack" kleiner 5060, adde die 5er pakete und mach bei 4195 den speicherjob und starte das zählen von vorne bis 4395
Hat da jemand eine Idee für mich ?
ich stehe vor dem Problem das ich mehrere Dateien mit numerisch aufsteigenden Dateinamen in wiederum mehrere Dateien , auch mit numerisch aufsteigenen Dateinamen zusammenfügen möchte.
Die quelldateien haben z.b. die Namen :
s 1 m 3940
s 1 m 3945
s 1 m 3950
etc bis
s 1 m 5060
nun möchte ich die Dateien zusammenfügen so das nachher in 200er Schritten die Dateinamen auftauchen was dann wäre : (startend dann bei einer niedrigeren Nummer damit das verarbeitende System damit umgehen kann) , dies und das zugehörige padden am anfang habe ich auch bereits erfolgreich implementiert
s 1 m 3800
s 1 m 4000
s 1 m 4200
etc
für das erste neue paket schreibe ich die zusammenzufügenden Dateinamen in eine Liste und verarbeite diese dann mit :
Das funktioniert auch alles wunderbar.while firstmsgpack < firstmsgpacknew+newmsgnum: # detect which packages can be added to first new messagepack (actually s 1 m 3940 to s 1 m 3995 resulting in s 1 m 3800)
with open("s "+str(i+1)+" m "+str(firstmsgpack)+".seq", 'rb' ) as subfile:
packnames.append( "s "+str(i+1)+" m "+str(firstmsgpack)+".seq") # fill array with filenames
firstmsgpack+=5
with open("s "+str(i+1)+" n "+str(firstmsgpacknew)+".seq", 'w') as outfile: # join first new message pack
for fname in packnames:
with open(fname) as infile:
outfile.write(infile.read())
Mir fehlt jedoch die Idee wie ich die folgenden Dateien ab "s 1 m 4000 bis s 1 m 5060" in einer schleife erstellen lasse und dann bei 4195 den break mache um die datei zu erstellen, und die schleife dann bei 4200 die liste mit neuen dateinamen füllt um bei 4395 dann wiederrum die nächste datei zu erstellen usw
quasi eine Schleife die vergleicht solange "firstmsgpack" kleiner 5060, adde die 5er pakete und mach bei 4195 den speicherjob und starte das zählen von vorne bis 4395
Hat da jemand eine Idee für mich ?