代码: (使用os.listdir)
import
os
def
ListFilesToTxt(dir,file,wildcard,recursion):
exts
=
wildcard.split(
"
"
)
files
=
os.listdir(dir)
for
name
in
files:
fullname
=
os.path.join(dir,name)
if
(os.path.isdir(fullname)
&
recursion):
ListFilesToTxt(fullname,file,wildcard,recursion)
else
:
for
ext
in
exts:
if
(name.endswith(ext)):
file.write(name
+
"
\n
"
)
break
def
Test():
dir
=
"
J:\\1
"
outfile
=
"
binaries.txt
"
wildcard
=
"
.txt .exe .dll .lib
"
file
=
open(outfile,
"
w
"
)
if
not
file:
print
(
"
cannot open the file %s for writing
"
%
outfile)
ListFilesToTxt(dir,file,wildcard,
1
)
file.close()
Test()
代码:(使用os.walk) walk递归地对目录及子目录处理,每次返回的三项分别为:当前递归的目录,当前递归的目录下的所有子目录,当前递归的目录下的所有文件
import
os
def
ListFilesToTxt(dir,file,wildcard,recursion):
exts
=
wildcard.split(
"
"
)
for
root, subdirs, files
in
os.walk(dir):
for
name
in
files:
for
ext
in
exts:
if
(name.endswith(ext)):
file.write(name
+
"
\n
"
)
break
if
(
not
recursion):
break
def
Test():
dir
=
"
J:\\1
"
outfile
=
"
binaries.txt
"
wildcard
=
"
.txt .exe .dll .lib
"
file
=
open(outfile,
"
w
"
)
if
not
file:
print
(
"
cannot open the file %s for writing
"
%
outfile)
ListFilesToTxt(dir,file,wildcard, 0)
file.close()
Test()
欢迎大家改进共享!