gpt4 book ai didi

python - python 中的整数自增

转载 作者:太空宇宙 更新时间:2023-11-03 16:24:09 24 4
gpt4 key购买 nike

我编写了一个简单的函数来逐行读取文件,进行一些计算并将结果存储在另一个文件中。但是,当我在函数中输出 count 时,而不是 0, 1, 2, 3;它变成 6.21263888889e-05、0.000141933611111 等。我想知道是什么原因。

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()

部分输出:

1.87317876361

1.87321708889

1.87325520083

1.87329356889

1.87333199389

1.87337076056

1.87340823167

1.87344365278

1.87347473167

1.87351439528

1.87354390806

1.87362505778

最佳答案

我不知道您的应用程序的具体情况,但我会将数据发送到列表,然后使用 Python 的切片表示法选择每 1000 个数据点。

尝试以下代码片段。

data = range(100)
every_tenth = data[::10]

此外,如果使用 with 关键字,则无需显式关闭文件。

with open(filename) as f:
data = f.readlines()

下面是您的代码,更加“Python 化”地重新编写——也就是说,它利用了 Python 为您提供的一些优于 C 的快捷方式。您可能需要稍微修改一下才能让它运行。我不确定您如何处理您的文件。

 def CumulativePerSecond(filename, freq=1000):
data = []
with open(filename) as input_file:
data = input_file.readlines()

output_file = os.path.splitext(filename)[0] + "_1s.txt"
with open(out_filename, 'a+') as output:
for line in data[::freq]:
output.write(line)

关于python - python 中的整数自增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38150006/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com