Hi,
möchte ein skript schreiben, welches mir daten konvertiert (von binär). Die neuen Files brauchen einen header. Wie schreib ich ein Skript, welches für die neuen Dateien einen header erstellt, dann den Datenblock und sie anschliessend abspeichert ?
Bin für Hilfe dankbar, muss das Skript bis Montag fertig haben...
Merci
t
daten auslesen, neuen File mit header erstellen und save
hört sich für mich nach hausaufgaben an
lies mal das sticky topic: http://www.python-forum.de/topic-1689.html

@thatspython: Und irgendwie hast Du die die Frage schon einmal gestellt.
Hat die Antwort damals nicht weitergeholfen? Wie sieht Dein bisheriger Quelltext aus?
Hat die Antwort damals nicht weitergeholfen? Wie sieht Dein bisheriger Quelltext aus?
-
- User
- Beiträge: 773
- Registriert: Mittwoch 5. November 2003, 18:06
- Wohnort: Schweiz
- Kontaktdaten:
Hi
So kannst du den Header und dann die Daten speichern:
Gruss
So kannst du den Header und dann die Daten speichern:
Code: Alles auswählen
f = open('neues_file', 'wb')
f.write(header)
f.write(daten)
f.close()
-
- User
- Beiträge: 6
- Registriert: Freitag 7. September 2007, 00:07
@ volvic: es handelt sich nicht um "Hausaufgaben"
@ BlackJack:
das hier ist soweit mein Skript (ist recht wenig, bin aber auch noch ein python beginner):
Nun will ich einen neuen File mit header erstellen.
Der header muss z.B.: an Position 6-15 das Datum, welches ich gerade in "header ['date']"ausgelesen haben, darstellen, in der Form:
yyyy/mm/dd.
Wie bewerkstellige ich das ?
Wie kann ich das bewerkstelligen ?
@ BlackJack:
das hier ist soweit mein Skript (ist recht wenig, bin aber auch noch ein python beginner):
Code: Alles auswählen
#!/usr/bin/env python
import sys, struct, time
try:
infilename = sys.argv[1]
outfilename = sys.argv[2]
except:
print "Usage: " + sys.argv[0] + " infile outfile startsample samplewidth"
sys.exit(1)
startsample = 0
samplewidth = 0
try:
startsample = int(sys.argv[3])
samplewidth = int(sys.argv[4])
except:
pass
ifile = open(infilename, 'rb')
ofile = open(outfilename, 'w')
print "Reading from " +infilename+ " ..."
header={}
data = ifile.read(776)
header['rate'] = data[746:751]
header['channels'] = data[774:776]
header['starttime'] = data[726:734]
header['date'] = data[705:713]
channels = int(header['channels'])
samplesize = struct.calcsize('d')
chunklen = channels*samplesize
print header
Der header muss z.B.: an Position 6-15 das Datum, welches ich gerade in "header ['date']"ausgelesen haben, darstellen, in der Form:
yyyy/mm/dd.
Wie bewerkstellige ich das ?
Wie kann ich das bewerkstelligen ?
Das kommt ganz darauf an wie das Datum in der Eingabedatei aussieht.
Hast Du schon das Tutorial in der Python-Dokumentation durchgearbeitet?
Man sollte kein ``except`` ohne konkrete Ausnahmen verwenden. So wie's jetzt ist, werden *alle* Ausnahmen behandelt bzw. einfach "verschluckt".
Hast Du schon das Tutorial in der Python-Dokumentation durchgearbeitet?
Man sollte kein ``except`` ohne konkrete Ausnahmen verwenden. So wie's jetzt ist, werden *alle* Ausnahmen behandelt bzw. einfach "verschluckt".