Python 文件操作实战:从创建删除到读写拷贝完整指南
本文系统总结 Python 中文件与目录的核心操作方法。涵盖文件与目录的创建、删除、重命名、大小查看及路径处理;详解递归遍历目录、统计文件数量;深入讲解文本文件的逐行读取、批量载入及追加写入技巧。同时包含使用 shutil 进行文件拷贝、目录迁移及剪切的完整代码示例,并提示 Windows 路径转义的关键注意事项,助您高效掌握 Python 文件处理技能。
Python 文件操作基础
文件系统交互是各类编程语言的基础能力,Linux Shell 提供了极简的操作方式,而 Python 等动态语言则凭借简洁的语法成为开发者的首选。本文将深入解析在 Python 环境中如何高效执行常见的文件处理任务。
核心功能涵盖以下方面:
1. 新建文件 2. 移除文件 3. 新建目录 4. 移除目录 5. 文件拷贝、重命名及大小查询 6. 统计指定目录下的文件数量 7. 递归遍历并输出目录下的所有文件与子目录 8. 执行文件的读取与写入操作 9. 实现文件或整个目录的剪切与移动
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. 文件移除与多级目录删除
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("写入成功!")
最后需特别注意路径字符串的写法,在 Windows 系统中建议使用双反斜杠(\\)或原始字符串前缀(r"...")来避免转义字符引发的路径解析错误,否则可能导致操作失败。
9. 文件拷贝或目录剪切示例
#拷贝整个目录到另一个路径下
shutil.copytree("E:\\11111111111\\a","E:\\11111111111\\b");
#剪切整个目录到另一个路径下
shutil.move("E:\\11111111111\\a","E:\\11111111111\\cc")
以上即为 Python 文件操作的核心方法总结。若有任何疑问,欢迎留言或前往社区交流探讨。感谢阅读,希望本文能为您提供帮助,谢谢支持!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









