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\n")                       
    else:
        print("FileNotFoundError!")
        
HandFile()

方法二:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
#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\n")                            
               fp.close()                                    
               os.chdir("..")  #返回单上级目录
                
    else:
        print("FileNotFoundError!")
        
HandFile()

方法三:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
#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\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操作。

发布了705 篇原创文章 · 获赞 829 · 访问量 134万+

猜你喜欢

转载自blog.csdn.net/sinat_38682860/article/details/105162946
今日推荐