Python文件和目录操作示例


Python实现把一个目录下所有的文件删除,在所有的目录下新建一个linuxboy.net.txt的文件,并在文件下写入“www.linuxboy.net”关键字。

Python文件和目录操作示例

思路:

1.如果目录存在则切换进入目录

2.遍历目录下所有的文件和目录

3.判断如果是文件就删除,如果是目录则在目录下新建一个linuxboy.net.txt文件,并把"www.linuxboy.net"写入文件。

方法:

#方法一: 

#encoding=utf-8                                                               
import os                                                                                         
import os.path 
 
def HandFile():                                   
    if os.path.exists("/home/linuxidc/linuxidc"):                     
        os.chdir("/home/linuxidc/linuxidc")                         
        for i in os.listdir("/home/linuxidc/linuxidc"):  #os.listdir(".")
            if os.path.isfile(i):                           
              os.remove(i)  #os.remove("/home/linuxidc/linuxidc/"+i) 
            else:
              #如果是目录,则切换进入目录                                           
              os.chdir(i)                                 
              fp=open("linuxboy.net.txt","w",encoding="utf-8")  #设置指定编码       
              fp.write("www.linuxboy.net\n")                           
              fp.close()                                   
              os.chdir("..")  #返回单上级目录
               
    else:
        print("FileNotFoundError!")
       
HandFile()

#方法二: 

#encoding=utf-8
import os
import os.path

def HandFile():

    if os.path.exists("/home/linuxidc/linuxidc"):                     
      os.chdir("/home/linuxidc/linuxidc")     
      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+"\\linuxboy.net.txt","w") as fp:
            fp.write("www.linuxboy.net\n")                     
    else:
        print("FileNotFoundError!")
       
HandFile()

#方法三: 

#encoding=utf-8       
import os                                                                                         
import os.path                                     

def HandFile():   
    try:                 
      os.chdir("/home/linuxidc/linuxidc")                         
      for i in os.listdir("/home/linuxidc/linuxidc"):  #os.listdir(".")
            if os.path.isfile(i):                           
                os.remove(i)  #os.remove("/home/linuxidc/linuxidc"+i) 
            else:                                           
                #获取目录的绝对路径
                path_name=os.path.abspath(i)
                #print("path_name:",path_name)
                #写文件到目录
                with open(path_name+"\\linuxboy.net.txt","w") as fp:
                  fp.write("www.linuxboy.net\n")
    except FileNotFoundError:
      print ("File Not Found!")
    except:
        print ("Unknown error !")
         
HandFile()

注意点:对于判断目录/home/linuxidc/linuxidc是否存在的问题,如果目录存在则切换进入/home/linuxidc/linuxidc目录,并且遍历目录。如果不存在,则直接进行处理异常。

如果/home/linuxidc/linuxidc目录不存在,程序继续往下执行,遍历当前操作目录,如果默认当前操作目录是计算机桌面也就是desktop,那么就悲催了,桌面所有的文件都被彻底删除掉了,且不可恢复,相当于执行了delete操作。

https://www.linuxboy.net/topicnews.aspx?tid=17

linuxboy的RSS地址:https://www.linuxboy.net/rssFeed.aspx

本文永久更新链接地址:https://www.linuxboy.net/Linux/2019-04/158295.htm

相关内容