Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 嵌套文件夹中的文件读取速度更快还是不';没关系吧?_Python_Directory_Lookup_Filepath_Disk - Fatal编程技术网

Python 嵌套文件夹中的文件读取速度更快还是不';没关系吧?

Python 嵌套文件夹中的文件读取速度更快还是不';没关系吧?,python,directory,lookup,filepath,disk,Python,Directory,Lookup,Filepath,Disk,我想我的问题纯粹是关于文件路径读取和磁盘驱动器 我有python代码,需要提取一个特定的文件,我确切地知道该文件的路径。我有一个选择,要么将该文件存储在一个包含数千个其他文件的大文件夹中,要么将它们全部分割成子文件夹。哪种选择可以提高阅读速度 我的担心和知识的缺乏表明,当代码进入一个包含数千个其他文件的大文件夹时,这比进入一个包含几个子文件夹的文件夹要困难得多。或者我错了,如果我生成了精确的文件路径,那么一切都是瞬间发生的 同样,我不必扫描文件或文件夹,因为我确切地知道文件路径链接,但我不知道磁

我想我的问题纯粹是关于文件路径读取和磁盘驱动器

我有python代码,需要提取一个特定的文件,我确切地知道该文件的路径。我有一个选择,要么将该文件存储在一个包含数千个其他文件的大文件夹中,要么将它们全部分割成子文件夹。哪种选择可以提高阅读速度

我的担心和知识的缺乏表明,当代码进入一个包含数千个其他文件的大文件夹时,这比进入一个包含几个子文件夹的文件夹要困难得多。或者我错了,如果我生成了精确的文件路径,那么一切都是瞬间发生的

同样,我不必扫描文件或文件夹,因为我确切地知道文件路径链接,但我不知道磁盘驱动器在较低级别上会发生什么

编辑:在Windows 7上使用标准HDD时,这两种硬盘中哪一种速度更快?

C://Folder\u,包含数百万个文件/myfile.txt

C://small_folder/small_folder254/small_folder323/myfile.txt


注意:我所需要的不是扫描数千个文件,而是尽可能快地拉出一个文件。我认为这是一种查找表。

为了获得最大的可伸缩性,最好的做法是将文件夹拆分为子文件夹,尽管不建议嵌套多个文件夹,最好使用多个较大的文件夹,而不是数千个较小的文件夹

与其将所有这些文件集中到一个文件系统中,为什么不将它们分散到一系列较小的文件系统中呢?这种方法的问题在于:(1)它限制了内核优化头部搜索的能力,从而降低了性能;(2)它迫使开发人员(或管理员)处理实际分发文件所涉及的麻烦。不可避免地,事情会失去平衡,迫使事情在未来重新分配

通过阅读这些文章,我将得出以下结论,
<65534个文件(一个文件夹就足够了)
>65534个文件(拆分为文件夹)

为了实现将来的可扩展性,建议将数据拆分到多个文件夹中,但要基于文件系统和观察到的性能,每65534个项目或每天创建一个新文件夹,类别等

基于,



我不知道如何回答这个问题,但我原以为这在python级别上没有什么区别,而这在很大程度上取决于文件系统、缓存和机器背后的硬件。如果你有一个简单的方法来像分类一样分离文件,如果你需要列出它们,我会这样做。欢迎使用SO,为了提问,你应该回顾以下内容是的,确实这是我要问的文件系统问题。我要提到的是上下文的python代码。我只有一台带硬盘的标准笔记本电脑,Windows7。我一直在想,我是否应该将文件存储在子文件夹中,或者是否应该生成准确的文件路径。例如,我是否选择:C://FolderWithMillionFiles/myfile.txt或C://Folder1/Folder2/FolderWithTenFiles/myfile。txt@tribunalstorm您可以尝试一下,然后在此处添加结果。也许这有助于回答您的问题。如果我确实尝试过,我会在这里发布,但由于文件太大,我很难测试出来,这就是为什么我想首先正确地进行测试,并希望有人知道一个简单的答案!:谢谢你的回答和那些参考链接,真的有助于澄清一些问题。