设为首页 收藏本站
查看: 897|回复: 0

[经验分享] Python学习 —— 阶段综合练习三

[复制链接]

尚未签到

发表于 2015-12-1 11:35:56 | 显示全部楼层 |阅读模式
Python学习 —— 阶段综合练习三
  综合之前文件与文件夹操作的学习,做以下实例练习:(建议先不要看代码,自己先试着写;代码仅供参考,有多种实现方法)
  
  1. 目录文件遍历(二层目录结构)
      1).  使用之前学习示例的文件夹模拟;print 出对应目录的目录结构,需缩进;a. 第一行print目标目录  b.具体的二层目录结构(一层文件夹后加\),文件加文件名后缀

      2).  不仅print出结果,将上述print的内容保存至当前工作目录下的 dir_demo.txt 文件中,
         DSC0000.gif   可下载后解压至D盘: http://files.cnblogs.com/files/feeland/Python_shutil.rar

          示例的要求结果如下:

           DSC0001.gif    






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盘目录下(请确保无相同文件夹)  http://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  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-145820-1-1.html 上篇帖子: Python——eventlet.websocket 下篇帖子: 如果你喜欢python,那你迟早会喜欢上julia的!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表