zoukankan      html  css  js  c++  java
  • python 文件和目录操作题库

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

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

        解题方法:

    #方法一:
    #encoding=utf-8 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 ") else: print("FileNotFoundError!") HandFile() #方法二: #encoding=utf-8 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 ") fp.close() os.chdir("..") #返回单上级目录 else: print("FileNotFoundError!") HandFile() #方法三: #encoding=utf-8 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 ") 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 ") 
    如果test目录不存在,程序继续往下执行,遍历当前操作目录,本人默认当前操作目录是计算机桌面也就是desktop,这时候悲催的一幕发生了,
    我的桌面所有的文件都被干掉了,且不可恢复,相当于执行了delete操作。
  • 相关阅读:
    AndroidManifest.xml 注册服务
    Android App消息通知机制【转】
    [转]android之Apache Http——向服务器发送请求的同时发送参数
    [转][WCF REST] 帮助页面与自动消息格式(JSON/XML)选择
    android新手上路之----解决android模拟器不能上网的问题
    mysqli类实例
    MYSQL视图
    jsp传递url地址里带有&的无法接收的解决方法
    Oracle序列归0的2种方法
    使用连接池管理数据库连接
  • 原文地址:https://www.cnblogs.com/ssj0723/p/10516596.html
Copyright © 2011-2022 走看看