Abstract: get files by absolute directory, file names, and incrusive file with a given directory
The script:
#module
import fnmatch
import os
class os_dir:
def
__init__(self, dir):
self.dir=dir
if not
self.dir[-1]=='/':
self.dir=self.dir + '/'
self.entries=os.listdir(self.dir)
def
dirs(self):
dirs=[]
for entry
in self.entries:
abs_entry=self.dir+entry
if
os.path.isdir(abs_entry):
dirs.append(abs_entry)
return
dirs
def
files(self):
files=[]
for entry
in self.entries:
abs_entry=self.dir+entry
if
os.path.isfile(abs_entry):
files.append(abs_entry)
return
files
def
file_names(self):
files=[]
for entry
in self.entries:
abs_entry=self.dir+entry
if
os.path.isfile(abs_entry):
files.append(entry)
return
files
def
incrusive_files(self, pattern):
incrusive_files=[]
for root,
dirs, files in os.walk(self.dir):
for
filename in fnmatch.filter(files, pattern):
incrusive_files.append( os.path.join(root, filename))
return
incrusive_files
####################
#main program
df=os_dir('/home/yuan/mysql_pre')
#file names
print 'File
names:', df.file_names(), "\n"
#files
print 'Files:',
df.files(), "\n"
#sub directories
print 'sub
directories:', df.dirs(), "\n"
#incrusive
directories
print 'Incrusive
directories:', df.incrusive_files("*.csv")
Writing date: 20150514
No comments:
Post a Comment