def numOfFile(path,num=1):
try:
if os.path.isdir(path):
num+=1
for x in os.listdir(path):
num+=1
except BaseException as e:
pass
finally:
return num
把二进制字符转换成权限码
def str2word(numstr):
wordstr=''
words=['r','w','x']
for i,x in enumerate(numstr):
if x=='1':
wordstr +=(lambda i,words : words[i%3])(i,words)
else:
wordstr +='-'
return wordstr
def listFile(path):
print('权限\t 文件数\t用户Id\t群组\t大小\t月份\t日期\t时间\t文件名')
for x in os.listdir(path):
dir = os.path.join(path,x)
stat = os.stat(dir)
print(str2word(str((bin(stat.st_mode))[-9:])),end='\t')
print(numOfFile(dir),end='\t')
print(stat.st_uid,end='\t')
print(stat.st_gid,end='\t')
print(stat.st_size,end='\t')
mtime=time.localtime(stat.st_mtime)
print(mtime.tm_mon,end='\t')
print(str(mtime.tm_hour)+':'+str(mtime.tm_min),end='\t')
print(x)
Alvin天枭
作业1
import os,time dirpath='.'
获取文件夹下文件的个数,只取一层
def numOfFile(path,num=1): try: if os.path.isdir(path): num+=1 for x in os.listdir(path): num+=1 except BaseException as e: pass finally: return num
把二进制字符转换成权限码
def str2word(numstr): wordstr='' words=['r','w','x'] for i,x in enumerate(numstr): if x=='1': wordstr +=(lambda i,words : words[i%3])(i,words) else: wordstr +='-' return wordstr
def listFile(path): print('权限\t 文件数\t用户Id\t群组\t大小\t月份\t日期\t时间\t文件名') for x in os.listdir(path): dir = os.path.join(path,x) stat = os.stat(dir) print(str2word(str((bin(stat.st_mode))[-9:])),end='\t') print(numOfFile(dir),end='\t') print(stat.st_uid,end='\t') print(stat.st_gid,end='\t') print(stat.st_size,end='\t') mtime=time.localtime(stat.st_mtime) print(mtime.tm_mon,end='\t') print(str(mtime.tm_hour)+':'+str(mtime.tm_min),end='\t') print(x)
listFile(dirpath)