# -*- coding: cp936 -*-
import os
# 如果在 IDLE 里运行本模块 需要去掉 coding 行,IDLE似乎有BUG 不认 cp936
def loopdir1(dirname, *ext): # 只遍历dirname目录
odir = os.getcwd() # 备份当前目录
os.chdir(dirname) # 改变当前目录
for fname in os.listdir(dirname):
if os.path.isfile(fname): # 判断 fname 是文件或链接
if os.path.splitext(fname)[1] in list(*ext): # 判断扩展名是否在列表
print (fname)
os.chdir(odir) # 还原当前目录
def loopdir2(dirname, *ext): # 遍历dirname目录及其子目录
for root,dirs,files in os.walk(dirname):
# root 是当前目录名
# dirs 是当前目录的子目录列表
# files 是当前目录的文件列表
# print (root)
for fname in files:
if os.path.splitext(fname)[1] in list(*ext): # 判断扩展名是否在列表
print (fname)
if '__main__' == __name__:
loopdir1("E://webphone_gui",['.pas'])
# loopdir2("E://webphone_gui",['.pas'])
----------------------------------------------------------
测试环境 python 3.0 + winxp sp3
import os
# 如果在 IDLE 里运行本模块 需要去掉 coding 行,IDLE似乎有BUG 不认 cp936
def loopdir1(dirname, *ext): # 只遍历dirname目录
odir = os.getcwd() # 备份当前目录
os.chdir(dirname) # 改变当前目录
for fname in os.listdir(dirname):
if os.path.isfile(fname): # 判断 fname 是文件或链接
if os.path.splitext(fname)[1] in list(*ext): # 判断扩展名是否在列表
print (fname)
os.chdir(odir) # 还原当前目录
def loopdir2(dirname, *ext): # 遍历dirname目录及其子目录
for root,dirs,files in os.walk(dirname):
# root 是当前目录名
# dirs 是当前目录的子目录列表
# files 是当前目录的文件列表
# print (root)
for fname in files:
if os.path.splitext(fname)[1] in list(*ext): # 判断扩展名是否在列表
print (fname)
if '__main__' == __name__:
loopdir1("E://webphone_gui",['.pas'])
# loopdir2("E://webphone_gui",['.pas'])
----------------------------------------------------------
测试环境 python 3.0 + winxp sp3