相关疑难解决方法(0)

向python生成器添加元素

是否可以将元素附加到python生成器?

我目前正在尝试从一组无组织的文件夹中获取所有图像,并将它们写入新目录.为了获取文件,我使用的是os.walk(),它返回一个目录中的图像文件列表.虽然我可以从这个单独的列表中创建一个生成器,但我不知道如何将所有这些列表组合到一个单独的生成器中.任何帮助将非常感激.

有关:

python append generator

17
推荐指数
3
解决办法
2万
查看次数

如何使用Python确定驱动器上的文件数?

我一直试图弄清楚如何使用python检索(快速)给定HFS +驱动器上的文件数量.

我一直在玩os.statvfs等等,但不能得到任何东西(这对我来说似乎有帮助).

有任何想法吗?

编辑:让我更具体一点.=]

由于各种原因,我正在为rsync编写一个类似timemachine的包装器,并希望对rsync要扫描的驱动器上的文件数量进行非常快速的估计(不一定是完美的).通过这种方式,我可以在构建初始文件列表的同时观察rsync的进度(如果您调用它rsync -ax --progress,或者使用该-P选项),并向用户报告百分比和/或ETA.

这与实际备份完全分开,跟踪进度没有问题.但是对于我正在处理数百万个文件的驱动器,这意味着用户正在观看文件数量的计数器上升几分钟没有上限.

我尝试使用os.statvfs与目前为止的答案中描述的方法完全一致,但结果对我来说没有意义.

>>> import os
>>> os.statvfs('/').f_files - os.statvfs('/').f_ffree
64171205L
Run Code Online (Sandbox Code Playgroud)

更便携的方式在这台机器上给了我大约110万,这与我在这台机器上看到的其他指标相同,包括运行其准备工作的rsync:

>>> sum(len(filenames) for path, dirnames, filenames in os.walk("/"))
1084224
Run Code Online (Sandbox Code Playgroud)

请注意,第一种方法是即时的,而第二种方法让我在15分钟后回来更新,因为它花了那么长时间才能运行.

有没有人知道类似的方法来获得这个数字,或者我如何处理/解释os.statvfs数字有什么问题?

python filesystems macos hard-drive

5
推荐指数
2
解决办法
1533
查看次数

有没有办法在使用os.walk时确定子目录是否在python的同一文件系统中?

我正在编写一个使用os.walk()来遍历目录树的python脚本.我想让它能够跳过挂载到不同文件系统的子目录,就像find -xdev这样.检查os.walk()上的文档,我没有看到任何参数传递给它自动执行.我可以用自己的东西来过滤吗?希望能在Linux和Mac OS X上运行的东西?

python unix

3
推荐指数
1
解决办法
275
查看次数

标签 统计

python ×3

append ×1

filesystems ×1

generator ×1

hard-drive ×1

macos ×1

unix ×1