编程语言对文件系统的操作是一项必不可少的功能,各种编程语言基本上都有对文件系统的操作,最简洁的莫过于linux里面shell的操作了,其次,则是python,ruby等动态语言的操作,那么,今天散仙来看下,在python里面如何使用一些常用的操作文件功能。 主要包括: 1,创建一个文件 2,删除一个文件 3,创建一个目录 4,删除一个目录 5,拷贝,重命名,查看文件大小 6,列出某个目录下文件的数量 7,递归打印某个目录下的所有文件和目录 8,读写文件操作 1,创建文件方法: f=open("D://111.cc",mode="w",encoding="UTF-8") f.close() 2,删除一个文件 import os os.remove("D://222.ccc123") os.close() 3,创建一个目录或多个目录 os.mkdir("E://bb") os.makedirs("D:\\a\\b") 4,删除依旧用remove方法或多级删除 os.removedirs(path) os.remove() 5,拷贝,重命名,查看文件大小 import os import shutil #第一个参数是源文件,第二个拷贝文件 shutil.copyfile("D://111.CC","D://222.ccc") os.rename("D://222.ccc","D://222.ccc123") os.stat("D://abc.txt").st_size 6,查看某个目录下文件数量: def countDirs(dp): tt=tuple(os.walk(dp)) print("文件夹"+dp+"的信息:") print("文件夹的个数: ",len(tt[0][1]),"文件的个数: ",len(tt[0][2])) d1="D:\\tomcat7\\bin" countDirs(d1) 结果如下: 文件夹D:\tomcat7\bin的信息: 文件夹的个数: 0 文件的个数: 28 Process finished with exit code 0 7,递归打印文件夹的方法: def showAllDirs(dp): tt=os.walk(dp); for l in tt: for lf in l[1]: print("目录的路径是:",l[0]+"\\"+lf) 递归打印文件的方法: def showAllDirsFiles(dirPath): tt=os.walk(dirPath); for l in tt: for ll in l[2]: print("文件的路径是:",l[0]+"\\"+ll) 8,读取文件的方法: def readFile(): f=open(r"D:///bbb.txt",encoding="UTF-8") for line in f: #去除多余的换行符 print(line.strip()) f.close(); 批量载入读取: def readFile1(): f=open(r"D:///bbb.txt",encoding="UTF-8") while 1: #print("j") lines=f.readlines(10000); if not lines: #print("end") break; for line in lines: print(line.strip()) f.close() 写入文件例子: def writeFile(): a=list(); a.append("a你好") a.append("b哈喽") a.append("c") #a追加模式w覆盖模式 f=open("D://pp.txt",mode='a',encoding="UTF-8") print("文件大小:",f) for c in a: f.write(c+"\n") f.close() print("写入成功!") 最后需要注意一点,注意路径的写法需要使用\\两个符号加转义实现,如果只写一个,可能会导致问题! |