Ich schrieb eine einfache Funktion, um eine Datei Zeile für Zeile zu lesen, eine Berechnung durchzuführen und die Ergebnisse in einer anderen Datei zu speichern. Wenn ich jedoch count
in meiner Funktion ausgabe, anstelle von 0, 1, 2, 3; es wird 6.21263888889e-05, 0.000141933611111 usw. Ich frage mich, was der Grund ist.Integer in Python inkrementieren
def CumulativePerSecond(input_file):
# Record cumulative battery per second
freq = 1000 # number of samples per second
output_file = os.path.splitext(input_file)[0] + "_1s" + ".txt"
output = open(output_file, 'a+')
count = 0
for line2 in fileinput.input(input_file):
count = count + 1
print count
if count == freq:
output.write(str(line2))
count = 0
output.close()
Teile der Ausgabe:
1.87317876361
1.87321708889
1.87325520083
1.87329356889
1.87333199389
1.87337076056
1.87340823167
1.87344365278
1.87347473167
1.87351439528
1.87354390806
1.87362505778
Haben Sie versucht, Typumwandlung als int (d. H. 'Count = int (count + 1)')? –
Kannst du auch mehr Zahlen in der Serie posten, die ein wenig mehr Informationen darüber liefern, was den Fehler erzeugt. –
Außerdem ist Ihr Hauptziel, einfach eine Datei mit jedem 1000sten Datenpunkt aus der Eingabe auszugeben. Das könnte viel einfacher geschrieben werden und Sie brauchen vielleicht überhaupt nicht zu zählen. –