Discuss / Python / 第一题与第二题答案

第一题与第二题答案

Topic source

Zflyee

#1 Created at ... [Delete] [Delete and Lock User]
  • 第一题的题意不太懂,参考了各位大神的答案
import os,time

currentdir = os.getcwd()
filenum, filesize, dirnum = 0, 0, 0
print('文件名\t\t\t文件类型\t\t文件大小\t修改时间')
for name in os.listdir(currentdir):
    if os.path.isfile(name):
        print('%s\t<py file>\t%d\t%s' % (time.strftime('%Y/%m/%d %H:%M', time.localtime(os.path.getmtime(name))), os.path.getsize(name), name))
        filenum += 1
        filesize += os.path.getsize(name)
    elif os.path.isdir(name):
        print('%s\t<DIR>\t\t\t%s' % (time.strftime('%Y/%m/%d %H:%M', time.localtime(os.path.getmtime(name))), name))
        dirnum += 1

print('\t\t%d个文件\t\t%d 字节' % (filenum, filesize))
print('\t\t%d个目录' % dirnum)
  • 第二题答案
import os

def search(dststr, path=['.']):
    for n in path:
        dirlist = [x for x in os.listdir(n) if os.path.isdir(os.path.join(n, x))]
        filelist = [x for x in os.listdir(n) if os.path.isfile(os.path.join(n, x)) and dststr in os.path.splitext(x)[0]]
        if len(filelist) > 0:
            print(n, ':')
            for m in filelist:
                print(m)
            print('\n')
        path = [os.path.join(n, x) for x in dirlist]
        search(dststr, path)
    return 'Done'

dststr = 'test'
search(dststr)

  • 1

Reply