枚举目录中可能没有扩展名的所有文件

时间:2014-10-16 07:08:34

标签: python

我必须从目录中打开每个文件并解析字符串,但是某些文件没有扩展名,因此它们无法打开。

我的代码:

rootPath = 'G:\\ginipig\\Javascript\\scripts\\script\\SCRIPT\\HTML\\VirTool\\JS\\Obfuscator\\AJ\\193a46bdb29515e3bd08d79593916d9e'
pattern = '*.*'

for root, dirs, files in os.walk(rootPath):
  for filename in fnmatch.filter(files, pattern):
    fullname = os.path.join(root, filename)
    with open(fullname, 'rb') as infile:
      data = infile.read()
      # my code

此代码不会解析没有扩展名的文件。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

将您的模式更改为pattern = '*'

这将匹配所有文件名,无论它们是否包含.。目前,您只匹配包含.的文件名,显然那些没有扩展名的文件名不会。

当然,如果您想匹配每个文件,可能根本不需要使用fnmatch.filter()

答案 1 :(得分:0)

如果它只是一个目录或文件夹,您可能需要尝试以下操作: 这确实假设没有子目录存在,否则你仍然需要文件管理器

import os    

root = 'some/dir/some/where/'

flist = os.listdir(root)
for file in flist:
    fullname = os.path.join(root, filename)
    with open(fullname, 'rb') as infile:
       data = infile.read()
       #your code