编程语言对文件系统的操作是一项必不可少的功能,各种编程语言基本上都有对文件系统的操作,最简洁的莫过于linux里面shell的操作了,其次,则是python,ruby等动态语言的操作,那么,今天散仙来看下,在python里面如何使用一些常用的操作文件功能。
主要包括:
- 创建一个文件
- 删除一个文件
- 创建一个目录
- 删除一个目录
- 拷贝,重命名,查看文件大小
- 列出某个目录下文件的数量
- 递归打印某个目录下的所有文件和目录
- 读写文件操作
创建文件方法
f=open("D://111.cc",mode="w",encoding="UTF-8")
f.close()
删除一个文件
import os
os.remove("D://222.ccc123")
os.close()
创建一个目录或多个目录
os.mkdir("E://bb")
os.makedirs("D:\\a\\b")
删除依旧用remove方法或多级删除
os.removedirs(path)
os.remove()
拷贝,重命名,查看文件大小
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
查看某个目录下文件数量
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
递归打印文件夹的方法
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)
读取文件的方法
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("写入成功!")
最后需要注意一点,注意路径的写法需要使用\两个符号加转义实现,如果只写一个,可能会导致问题!