我必须从目录中打开每个文件并解析字符串,但是某些文件没有扩展名,因此它们无法打开。
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
此代码不会解析没有扩展名的文件。我该如何解决这个问题?
答案 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