您现在的位置是:主页 > news > 网站制作时如何分析竞争对手/网站制作推广电话

网站制作时如何分析竞争对手/网站制作推广电话

admin2025/6/2 19:54:28news

简介网站制作时如何分析竞争对手,网站制作推广电话,凡科做网站类型应该做哪个,系统开发毕业设计我想知道如何最好地处理在python中写入大文件. 我的python代码多次循环运行外部程序(古老的Fortran,具有奇怪的输入文件格式),读取其输出(一个行文件),执行一些非常简单的处理,然后写入已编译的输出文件.外部程序快速执行(不到1秒). import subprocess as sp f_compiled_out o…

网站制作时如何分析竞争对手,网站制作推广电话,凡科做网站类型应该做哪个,系统开发毕业设计我想知道如何最好地处理在python中写入大文件. 我的python代码多次循环运行外部程序(古老的Fortran,具有奇怪的输入文件格式),读取其输出(一个行文件),执行一些非常简单的处理,然后写入已编译的输出文件.外部程序快速执行(不到1秒). import subprocess as sp f_compiled_out o…

我想知道如何最好地处理在python中写入大文件.

我的python代码多次循环运行外部程序(古老的Fortran,具有奇怪的输入文件格式),读取其输出(一个行文件),执行一些非常简单的处理,然后写入已编译的输出文件.外部程序快速执行(不到1秒).

import subprocess as sp

f_compiled_out = open("compiled.output", "w")

for i in range(len(large_integer)):

write_input_for_legacy_program = prepare_input()

sp.call(["legacy.program"])

with open("legacy.output", "r") as f:

input = f.readline()

output = process(input)

f_compiled_out.write(output)

close(f_compiled_out)

我可以想到三个选项来生成编译的输出文件.

>我已经在做什么.

>在主循环的每个循环上使用open(“ comiled.output”,“ a”)作为f来打开f_compiled_out:f.write(output)

>使用awk进行简单处理,并将输出分类到“ compiled.output”末尾.

那么(1)保持大文件打开并写入文件末尾的开销与(2)每次写入打开并追加文件的开销以及(3)使用awk进行处理并建立目录的开销是多少? “ compiled.output”.

整个输出在任何阶段都不需要存储在存储器中.

附言如果有人看到任何其他明显的事物会因为N_loops变大而减慢它的速度,那也太棒了!

解决方法:

打开和关闭文件肯定要花钱.但是,如果您的旧程序需要一秒钟或更多的时间来响应,您可能不会注意到.

def func1():

for x in range(1000):

x = str(x)

with open("test1.txt", "a") as k:

k.write(x)

1 loops, best of 3: 2.47 s per loop

def func2():

with open("test2.txt", "a") as k:

for x in range(1000):

x = str(x)

k.write(x)

100 loops, best of 3: 6.66 ms per loop

但是,如果文件变得很大,它就会变慢:(800 mb)

def func3(file):

for x in range(10):

x = str(x)

with open(file, "a") as k:

k.write(x)

12kb档案:

10 loops, best of 3: 33.4 ms per loop

800mb文件:

1 loops, best of 3: 24.5 s per loop

保持文件打开将主要消耗您的内存.

我建议使用SQlite来存储您的数据.

标签:performance,io,python

来源: https://codeday.me/bug/20191121/2054008.html