python - 循环遍历没有扩展名的二进制文件

标签 python binary iteration

我正在寻找使用 python 循环目录中文件的方法,我发现了这个问题:

Loop through all CSV files in a folder

重点是我的文件是二进制文件,末尾没有文件扩展名。 我希望我的程序做的是迭代所有没有扩展名的文件。

无论如何要使用通配符来应用它吗? (或者还有其他方式吗?)

最佳答案

您可以使用os.path.splitext来检查文件是否具有扩展名。

请参阅此示例:

import os

os.path.splitext("foo.ext")
=> ('foo', '.ext')

os.path.splitext("foo")
=> ('foo', '')

所以,你可以这样做:

import os

path = "path/to/files"
dirs = os.listdir(path)

for path in dirs:
    if not os.path.splitext(path)[1]:
        print(path)

但是,请注意名称以点开头的“隐藏”文件,即:“.bashrc”。

您还可以检查文件名中是否存在点:

for path in dirs:
    if "." not in path:
        print(path)

关于python - 循环遍历没有扩展名的二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40439612/

相关文章:

java - 如何保持写入文件的二进制数据的一致性?

python - 使用 Matplotlib 绘制具有多个 x 和 y 轴的图形

python - pandas/python 中的 k-means/x-means(或其他?)聚类

c - 在 C 中添加 0101 和 5 背后的逻辑是什么?

c++ - 递归算法的迭代版本较慢

dictionary - 如何按插入顺序迭代 map ?

python - 从 For 循环 Python 中的迭代总数中减去字典值

python - 引发 FileNotFoundError

python - 在 CPU 预处理期间使用多线程时 Tensorflow 变慢

java - 用 C++ 将 float 写入二进制文件 |等效于 Java 的 DataOutputStream.writeFloat()