Python学习 —— 阶段综合练习三

Python学习 —— 阶段综合练习三

  综合之前文件与文件夹操作的学习,做以下实例练习:(建议先不要看代码,自己先试着写;代码仅供参考,有多种实现方法)

 

  1. 目录文件遍历(二层目录结构)

    1).  使用之前学习示例的文件夹模拟;print 出对应目录的目录结构,需缩进;a. 第一行print目标目录  b.具体的二层目录结构(一层文件夹后加\),文件加文件名后缀

    2).  不仅print出结果,将上述print的内容保存至当前工作目录下的 dir_demo.txt 文件中,

        可下载后解压至D盘: https://files.cnblogs.com/files/feeland/Python_shutil.rar

        示例的要求结果如下:

           

 1 # !/usr/bin/config python
 2 # -*- coding:utf-8 -*-
 3 
 4 import os
 5 def listdir(d,f):
 6     d_list = os.listdir(d)              # 列出目录下的所有文件和目录
 7     print (d)
 8     f.write(d + '\n')
 9     
10     for i in d_list:
11         filepath = os.path.join(d,i)
12         if os.path.isdir(filepath):     # 如果filepath 是目录,则再列出该目录下的所有文件
13             print ('\t' + i + '\\')
14             f.write('\t' + i + '\\'+'\n')
15             for li in os.listdir(filepath):
16                 print ('\t\t'+li)
17                 f.write('\t\t'+li+'\n')
18         elif os.path:                   # 如果filepath是文件,直接列出文件名
19             print ('\t'+i)
20             f.write('\t'+i+'\n')
21     
22     
23 demo_dir = u"D:\Python_shutil"
24 
25 with open('dir_demo.txt','w') as f:
26     listdir(demo_dir,f)
listdir

  示例使用 "\t" 表示缩进;注意 file.write() 函数不会自动换行,print会打印换行。

 

  2. 在 D:\\demo2 文件夹下,创建5个txt文件,名称及txt的内容分别为 test1、test2 ... test5

    1).  判断 D:\\demo2 文件夹是否存在,若存在,清空该文件夹里所有文件 (请务必确保无你需要的文件);若不存在,创建该文件夹

    2).  创建txt文件,示例的要求结果如下:

 1 import os,shutil,time
 2 
 3 os.chdir("d:\\")
 4 dir_name = u"demo2"
 5 dir_abs = os.path.join(os.getcwd(),dir_name)
 6 if os.path.exists(dir_abs):
 7     shutil.rmtree(dir_abs)
 8     time.sleep(1)           # 删除操作之后最好加个等待时间,不然后续 mkdir 操作可能报错
 9 os.mkdir(dir_name)
10 os.chdir(dir_abs)
11  
12 for i in range(1,6):
13     txt_name = "test{0}.txt".format(i)
14     with open(txt_name,"w") as f:
15         f.write("test{0}".format(i))
folder&txt

 

  3. 文件类型判断及移动操作,请将示例文件夹解压至D盘目录下(请确保无相同文件夹)  https://files.cnblogs.com/files/feeland/python_demo_pic.rar

        解压后文件夹显示

    1).  print 出示例文件夹中所有图片类型的文件名称(.bmp  .jpeg  .gif  .psd  .png  .jpg)

    2).  新建一个文件夹 pic(可确保 D:\\python_demo_pic 无该文件夹),将上述图片文件移至该 pic 文件夹内

          pic 文件夹中为移动的图片文件

 1 import os,shutil
 2 
 3 img_dir = 'D:\\python_demo_pic'
 4 img_ext = (".bmp",".jpeg",".gif",".psd",".png",".jpg")
 5 
 6 os.chdir(img_dir)
 7 os.mkdir("pic")
 8 
 9 for i in os.listdir(img_dir):
10     if os.path.splitext(i)[1] in img_ext:
11         print i
12         shutil.move(i, os.path.join(os.getcwd(),"pic"))
ext

 

posted @ 2015-05-12 16:09  feesland  阅读(1213)  评论(0编辑  收藏  举报