Python 如何加速代码?

Python 如何加速代码?,python,optimization,Python,Optimization,在我的程序中,我有一个方法,每次调用它时需要打开大约4个文件,因为我需要获取一些数据。所有这些数据都来自我一直存储在列表中的文件,以备操作。 我大约需要调用这个方法10000次。这使得我的程序非常慢 有什么方法可以更好地处理这些文件,并将整个数据存储在列表中,这会耗费时间?对于列表来说,什么是更好的选择 我可以给出一些代码,但我之前的问题是封闭的,因为这只会让每个人感到困惑,因为它是大程序的一部分,需要完全解释才能理解,所以我不会给出任何代码,请建议将此作为一般问题来思考的方式 提前感谢打开、关

在我的程序中,我有一个方法,每次调用它时需要打开大约4个文件,因为我需要获取一些数据。所有这些数据都来自我一直存储在列表中的文件,以备操作。 我大约需要调用这个方法10000次。这使得我的程序非常慢

有什么方法可以更好地处理这些文件,并将整个数据存储在列表中,这会耗费时间?对于列表来说,什么是更好的选择

我可以给出一些代码,但我之前的问题是封闭的,因为这只会让每个人感到困惑,因为它是大程序的一部分,需要完全解释才能理解,所以我不会给出任何代码,请建议将此作为一般问题来思考的方式


提前感谢

打开、关闭和读取文件10000次总是很慢的。你能打开文件一次,对列表执行10000次操作,然后关闭文件一次吗?

打开、关闭和读取文件10000次总是很慢的。您能打开文件一次,对列表执行10000次操作,然后关闭文件一次吗?

最好将数据加载到数据库中,并在数据库中放置一些索引。然后对您的数据进行简单查询将非常快。建立数据库不需要很多工作。您可以创建一个数据库,而不需要单独的过程,而且它没有复杂的安装过程。

最好将数据加载到数据库中,并在数据库上放置一些索引。然后对您的数据进行简单查询将非常快。建立数据库不需要很多工作。您可以创建一个数据库,而不需要单独的过程,也不需要复杂的安装过程。

一般策略是,如果数据是静态的,并且相对较小,最好将其保存在内存缓存中。然后,10k调用将读取内存缓存而不是文件。快得多

如果要修改数据,另一种选择可能是像SQLite这样的数据库,或者嵌入式MS SQL Server(还有其他数据库!)

目前还不清楚这是什么样的数据。它是简单的配置/属性数据吗?有时,您可以找到库来处理这些数据的加载/操作/存储,并且它通常有自己的内部内存缓存,您所需要做的只是调用一个或两个函数


如果没有更多关于文件(它们有多大?)和数据(它是如何格式化和结构的?)的信息,很难说得更多。

作为一般策略,如果数据是静态的且相对较小,最好将其保存在内存缓存中。然后,10k调用将读取内存缓存而不是文件。快得多

如果要修改数据,另一种选择可能是像SQLite这样的数据库,或者嵌入式MS SQL Server(还有其他数据库!)

目前还不清楚这是什么样的数据。它是简单的配置/属性数据吗?有时,您可以找到库来处理这些数据的加载/操作/存储,并且它通常有自己的内部内存缓存,您所需要做的只是调用一个或两个函数


如果没有关于文件(有多大?)和数据(如何格式化和结构化?)的更多信息,很难说更多。

通过要运行的调用方法调用打开文件。将数据作为参数传递给方法

从要运行的调用方法调用打开文件的方法。将数据作为参数传递给方法

如果文件是结构化的,类似于配置文件,那么最好使用ConfigParser库,否则如果您有其他结构化格式,那么我认为最好将所有这些数据存储在JSON或XML中,并对数据执行任何必要的操作

如果文件是结构化的,类似于配置文件,最好使用ConfigParser库,否则如果您有其他结构格式,那么我认为最好将所有这些数据存储在JSON或XML中,并对您的数据执行任何必要的操作

每次调用该方法时是否使用整个文件?例如,它可以使用数据库吗?如果是这样,那么我将考虑将文件内容转储到SQLite数据库中,并使用SQL查询每次调用所需的数据。。我的文件在每次调用时都是使用整个文件的方法吗?例如,它可以使用数据库吗?如果是这样,那么我将考虑将文件内容转储到SQLite数据库中,并使用SQL查询每次调用所需的数据。。我的每个文件大约500KB,大约3200个文件,每个文件大约400kb。对于每个调用,将使用其中的4个文件。我将只使用文件数据,而不是文件中的数据。我只需要读取它们。只是属性数据,每行有5个字。我发现你的想法很有趣,如何存储在缓存中?嗯,我猜您的数据是这样的:
property 1=word1 word2 word3 word4 word5
。您可以创建一个哈希表,其中
property1
是值
word1 word2 word3 word4 word5
的键。在应用程序启动时设置哈希表,然后每隔一段时间需要数据时,访问哈希表而不是文件……当然,如果结构的含义不仅仅是
property key=value
,您可能需要更复杂的数据结构。例如,您可能希望将单词存储为一个单词数组,而不是将其存储为单个字符串。这将取决于您的具体需要,但我希望这能给出大致的想法。我是否需要将所有3200个文件中的数据放入哈希表中。为此,我想需要打开3200个文件。我有大约3200个文件,每个文件大约400kb。对于每个调用,将使用其中4个文件。我将只使用文件数据