python os模块 练习题
2016-10-12 21:42
302 查看
Python的os模块封装了操作系统的目录和文件操作,要注意这些函数有的在
1.
利用
os模块中,有的在
os.path模块中。
1.
利用
os模块编写一个能实现
dir -l输出的程序。
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import os import time import re dirpath=r'D:\Exercises\python' listFile(dirpath) findFile(dirpath,'.py') def listFile(path): print('权限\t文件数\t用户名\t群组名\t大小\t月份\t日期\t时间\t文件名') for x in os.listdir(path): dir=os.path.join(path,x) st=os.stat(dir) print(oct(st.st_mode)[-3:],end='\t') print(numOfFiles(dir),end='\t') print(st.st_uid,end='\t') print(st.st_gid,end='\t') print(st.st_size,end='\t') lc_time=time.localtime(st.st_mtime) print(time.strftime('%b',lc_time),end='\t') print(lc_time.tm_mday,end='\t') print(time.strftime('%H:%M',lc_time),end='\t') print(x) #计算文件夹数,最小为1 def numOfFiles(path,num=1): try: for x in os.listdir(path): dir=os.path.join(path,x) if os.path.isdir(dir): num+=1 num=numOfFiles(dir,num) except BaseException as e: pass finally: return num
2. 编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径。
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import os keyword = input('Input keyword: ') up = '.' result = [] def check(up, keyword): all = os.listdir(up) for x in all: try: abs_x = os.path.join(up, x) if os.path.isdir(abs_x): up = os.path.join(up, x) check(up, keyword) up = os.path.split(up)[0] if os.path.isfile(abs_x): if keyword in x: result.append(abs_x) except: continue check(up, keyword) print('\n==========Find %d files==========\n' % len(result)) num = 0 for r in result: num += 1 print('%d %s' % (num, r)) print('\n===============END===============\n') os.system("pause")
相关文章推荐
- Python简明教程最后的练习题
- Python核心编程中的一个游戏练习题,石头剪刀布
- 第十三章 第二周python练习题
- Python快速入门(2)练习题
- 【python核心编程]】第五章练习题
- Python快速入门(3)列表、练习题
- python 练习题
- python编程练习题
- python 核心编程 第二版 第二章 练习题
- python 核心编程 练习题
- python 练习题
- python 核心编程 课后练习题(第五章)
- Python正则表达式练习题
- Python一天入门22:Python标准库-os模块
- Python 练习题
- python的两道练习题
- python简明教程-os模块
- python 练习题
- Python 函数章节部分简单练习题
- python练习题:循环打印嵌套列表