1. 把一个目录下所有的文件删除,在所有的目录下新建一个a.txt的文件,并在文件下写入"python"关键字。

  解题思路:
        1.如果目录存在则切换进入目录
        2.遍历目录下所有的文件和目录
        3.判断如果是文件就删除,如果是目录则在目录下新建一个a.txt文件,并把"python"写入文件。

  解题方法:

#方法一:
#encoding=utf-
import os
import os.path def HandFile(): if os.path.exists("e:\\test"):
os.chdir("e:\\test")
file_list=os.listdir(os.getcwd())
for i in file_list:
#查看test目录下的所有文件和目录
#print (i)
#判断如果是文件,则删除;是目录则获取目录的绝对路径,写文件到目录下。
if os.path.isfile(i):
os.remove(i)
else:
#获取目录的绝对路径
path_name=os.path.abspath(i)
#print("path_name:",path_name)
#写文件到目录
with open(path_name+"\\a.txt","w") as fp:
fp.write("python\n")
else:
print("FileNotFoundError!") HandFile() #方法二:
#encoding=utf-
import os
import os.path def HandFile():
if os.path.exists("e:\\test"):
os.chdir("e:\\test")
for i in os.listdir("e:\\test"): #os.listdir(".")
if os.path.isfile(i):
os.remove(i) #os.remove("e:\\test\\"+i)
else:
#如果是目录,则切换进入目录
os.chdir(i)
fp=open("a.txt","w",encoding="utf-8") #设置指定编码
fp.write("python\n")
fp.close()
os.chdir("..") #返回单上级目录 else:
print("FileNotFoundError!") HandFile() #方法三:
#encoding=utf-
import os
import os.path def HandFile():
try:
os.chdir("e:\\test")
for i in os.listdir("e:\\test"): #os.listdir(".")
if os.path.isfile(i):
os.remove(i) #os.remove("e:\\test\\"+i)
else:
#获取目录的绝对路径
path_name=os.path.abspath(i)
#print("path_name:",path_name)
#写文件到目录
with open(path_name+"\\a.txt","w") as fp:
fp.write("python\n")
except FileNotFoundError:
print ("File Not Found!")
except:
print ("Unknown error !") HandFile()
注意点:对于判断目录e:\\test是否存在的问题,如果目录存在则切换进入test目录,并且遍历目录。如果不存在,则直接进行处理异常。
以下是错误代码示例:
if os.path.exists("e:\\test"):                      
  os.chdir("e:\\test")   
for i in os.listdir(os.getcwd()):
  if os.path.isfile(i):
    os.remove(i)
  else:
    with open(os.path.abspath(i)+"\\a.txt","w") as fp:
      fp.write("python\n") 
如果test目录不存在,程序继续往下执行,遍历当前操作目录,本人默认当前操作目录是计算机桌面也就是desktop,这时候悲催的一幕发生了,
我的桌面所有的文件都被干掉了,且不可恢复,相当于执行了delete操作。

最新文章

  1. 【BZOJ1688】[Usaco2005 Open]Disease Manangement 疾病管理 状压DP
  2. CAP原理的证明
  3. ECMAScript 6学习笔记(二):let和块级作用域
  4. 【SpringMVC】SpringMVC系列8之Servlet API 作为入参
  5. 导出excel表功能
  6. [转] 条件变量(Condition Variable)详解
  7. 【布艺DIY】 零基础 做包包 2小时 就OK!_豆瓣
  8. centos-mysql 安装
  9. 关于phpMyAdmin表数据不能编辑更改的问题
  10. Day5模块-random模块
  11. Java 9 揭秘(20. JDK 9中API层次的改变)
  12. python查询修改配置文件功能
  13. gogs : 添加 ssh An error has occurred : addKey: fail to parse public key: exec: "ssh-keygen": executable file not found in %PATH% - exec: "ssh-keygen": executable file not found in %PATH%
  14. Curator实现分布式锁
  15. 粒子动画——Pygame
  16. ESP32 environment ubuntu
  17. HTML如何实现滚动文字
  18. virtualenv搭建python3 环境
  19. linux 如何运行rpm
  20. linux安装zookeeper及使用

热门文章

  1. BZOJ_4726_[POI2017]Sabota?_树形DP
  2. 三元运算符 与 return
  3. mySql入门-(一)
  4. Emmagee--APP性能测试工具的基本使用
  5. python导出zabbix数据并发邮件脚本
  6. ssm上传图片
  7. ES 12 - 配置使用Elasticsearch的动态映射 (dynamic mapping)
  8. BootStrap:轮播插件
  9. 分享波面经【2年经验】【linux c++】
  10. GIS之家小专栏