练习1:

  利用os模块编写一个能实现dir -l输出的程序(注意:dir /l是windows下命令)

#!_*_coding:utf-8_*_
# Author: hkey
import os, time
base_dir = input('enter your dir:') # 手动输入绝对目录
class file_total(object):
'''获取文件及目录属性'''
def __init__(self, path):
self.__path = path
def file_sum(self):
'''统计文件及目录总数'''
for root, dirs, files in os.walk(self.__path, topdown=False):
f_sum = 0
d_sum = 0
for name in files:
f_sum += 1
for name in dirs:
d_sum += 1
return f_sum, d_sum
def file_stat(self):
'''获取具体文件及目录属性'''
for f in os.listdir(self.__path):
dir = os.path.join(self.__path, f)
# print(f)
os_stat = os.stat(dir)
# 日期(年/月/日)
file_date = time.strftime('%Y/%m/%d', time.localtime(os_stat.st_mtime))
# 时间(时分秒)
file_time = time.strftime('%H:%M', time.localtime(os_stat.st_mtime))
# 文件及目录大小
file_size = os_stat.st_size
# 文件名
file_name = f+'\t'
if os.path.isfile(dir):
file_stat = '<file>'
elif os.path.isdir(dir):
file_stat = '<dir>\t'
print(file_date,'\t',file_time,'\t',file_stat,'\t',file_size,'\t',file_name) f = file_total(base_dir)
f_stat = f.file_sum()
print(f.file_stat())
print('\t %s 个文件\n\t %s 个目录' % (f_stat[0], f_stat[1]))

  练习1主要使用到了os模块,os.walk方法很好用。

练习2:

  编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径。

#!_*_coding:utf-8_*_
# Author: hkey
import os, re
file_list = list()
# base_dir = input('enter your dir:')
find_str = input('enter your file str:')
for root, dirs, files in os.walk('.', topdown=False):
for name in files:
if re.search(find_str, name):
print(os.path.join(root, name))

  练习2主要使用到re正则匹配,str类型通过find和index都无法实现判断。

[ Python - 8 ] 简单demo练习的更多相关文章

  1. 用 python实现简单EXCEL数据统计

    任务: 用python时间简单的统计任务-统计男性和女性分别有多少人. 用到的物料:xlrd 它的作用-读取excel表数据 代码: import xlrd workbook = xlrd.open_ ...

  2. [tornado]websocket 最简单demo

    想法 前两天想看看django 长轮询或者是websocket的方案,发现都不太好使. tornado很适合做这个工作,于是找了些资料,参照了做了个最简单demo,以便备用. 具体的概念就不说了,to ...

  3. Django实战(一)之简单Demo

    菜鸟教程上Django安装可供参考: 参考链接: http://www.runoob.com/django/django-install.html 菜鸟教程上如果不行的话,下面博客网址可以供参考 Li ...

  4. 在cengos中安装zabbix server/agent, 并创建一个简单demo

    添加zabbix更新源 rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch ...

  5. 用python实现简单EXCEL数据统计的实例

    用python实现简单EXCEL数据统计的实例 下面小编就为大家带来一篇用python实现简单EXCEL数据统计的实例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 任 ...

  6. 设计模式之单例模式的简单demo

    /* * 设计模式之单例模式的简单demo */ class Single { /* * 创建一个本类对象. * 和get/set方法思想一样,类不能直接调用对象 * 所以用private限制权限 * ...

  7. Spring的简单demo

    ---------------------------------------- 开发一个Spring的简单Demo,具体的步骤如下: 1.构造一个maven项目 2.在maven项目的pom.xml ...

  8. Python 实现简单的 Web

    简单的学了下Python, 然后用Python实现简单的Web. 因为正在学习计算机网络,所以通过编程来加强自己对于Http协议和Web服务器的理解,也理解下如何实现Web服务请求.响应.错误处理以及 ...

  9. 使用Spring缓存的简单Demo

    使用Spring缓存的简单Demo 1. 首先创建Maven工程,在Pom中配置 <dependency> <groupId>org.springframework</g ...

随机推荐

  1. Windows server 2012 R2开机进入cmd,关闭后黑屏问题

    原因分析: 因为自己在卸载IIS的时候,不小心卸载了.net framework,系统没有了图形界面(由完整模式Full变为了核心模式core),需要重新恢复.net framework4.5. 解决 ...

  2. sqlserver 找出字符第N次出现的位置

    [1编写函数]CREATE FUNCTION IndexOf(@str VARCHAR(500),@value VARCHAR(50),@posIndex INT)RETURNS int AS BEG ...

  3. Java串口编程学习1-环境配置(64位Win7)

    最近在做zigbee的课程设计,需要Java实现对串口数据的读写操作. 网上找了很多代码,好像都比较过时了,直接拿来用没法跑通……QAQ……然后自己写个教程留底,如有不当之处还请各位路过的大神赐教. ...

  4. x86/x64的stack*****************************TBD

    1.push parameter, %rdi,%rsi,%rdx,%rcx,%r8,%r9 用作函数参数,依次对应第1参数,第2参数... 2. push return address 3. push ...

  5. bootstrap和elementUI真的会冲突

    前两天,做了一个支持markdown的功能: http://www.cnblogs.com/XHappyness/p/8097756.html 后面发现预览效果某些标签需要bootstrap的支持才能 ...

  6. Java IO 之 File 的创建、重命名与遍历

    File表示存储设备上的一个文件或目录,使用方式查看API即可,比较简单 package org.zln.io.file; import java.io.File; /** * Created by ...

  7. Eclipse中构建scala开发环境的步骤

    Eclipse是一款非常使用的开发工具,熟悉它的童鞋应该都知道,它不仅是最常用的android开发工具,还是最常用的Java开发工具.既然eclipse如此重要,本文小编就和大家一起来扒一扒在ecli ...

  8. HDU 4776 Ants(Trie+优先队列)

    Ants Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 327680/327680 K (Java/Others) Total S ...

  9. fzu 2246(ac 自动机)

    fzu 2246(ac 自动机) 题意: 某一天YellowStar学习了AC自动机,可以解决多模式匹配问题.YellowStart当然不会满足于此,它想进行更深入的研究. YellowStart有一 ...

  10. CF858F Wizard's Tour 解题报告

    题目描述 给定一张 \(n\) 个点 \(m\) 条边的无向图,每条边连接两个顶点,保证无重边自环,不保证连通. 你想在这张图上进行若干次旅游,每次旅游可以任选一个点 \(x\) 作为起点,再走到一个 ...