Python文件操作方法大总结

简介: Python文件操作方法大总结

文件操作必不可少的是open函数:对文件读写之前,需要先打开文件,获取文件句柄

注意:open() file() 尽量使用open(),Python3以后不支持file()了


1、open方法原型解释

open(file_name[,access_mode][,buffering])


(1)参数说明


file_name:一个包含了你要访问的文件路径及文件名称的字符串值。尽量使用绝对路径


access_mode:打开文件的方式:这个参数是非强制的,默认文件访问模式为只读(r)


r,只读


w:写之前会清空文件的内容


a:追加的方式,在原本内容中继续写


buffering:先写到缓存中


如果buffering的值被设置为0,就不会有寄存;如果值为1,访问文件时会缓存行;如果值位大于1的整数,表明了这就是寄存区的缓冲大小;如果取负值,寄存区的缓冲大小则为系统默认。该参数也是非强制性的。


(2)返回值


该语句表示返回的File_object是一个指向文件的指针(一个文件对象)文件句柄。当以只读模式(r)打开一个不存在的文件时,就会报IOError异常(文件不存在),但如果是以写或追加模式(w/a/a+)打开一个不存在的文件时,默认会创建该文件,但如果是所在路径中有目录不存在,也会报IOError异常


常用方法列表

操作 说明
os.getcwd() 得到当前工作目录,即当前Python脚本工作的目录路径
os.listdir() 返回指定目录下的所有文件和目录名
os.remove() 函数用来删除一个文件


os.removedirs(r"c\python") 删除多个目录
os.path.isfile() 检验给出的路径是否是一个文件
os.path.isdir() 检验给出的路径是否是一个目录
os.path.isabs() 判断是否是绝对路径


os.path.exists() 检验给出的路径是否真地存
os.path.split() 返回一个路径的目录名和文件名
os.path.splitext() 分离扩展名


os.path.dirname() 获取路径名
os.path.basename() 获取文件名
os.system() 运行shell命令
os.getenv() 与os.putenv() 读取和设置环境变量


os.linesep  给出当前平台使用的行终止符,Windows使用'rn',Linux使用'n'而Mac使用'r'
os.name 指示你正在使用的平台,对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'


os.rename(old, new) 重命名:
os.makedirs(r"c:\python\test") 创建多级目录
os.mkdir("test") 创建单个目录
os.stat(file) 获取文件属性
os.chmod(file) 修改文件权限与时间戳
os.exit() 终止当前进程
os.path.getsize(filename) 获取文件大小
os.mkdir("file") 创建目录


shutil.copyfile("oldfile","newfile") 复制文件, oldfile和newfile都只能是文件
shutil.copy("oldfile","newfile") oldfile只能是文件夹,newfile可以是文件,也可以是目标目录
shutil.copytree("olddir","newdir") 复制文件夹, olddir和newdir都只能是目录,且newdir必须不存在
os.rename("oldname","newname") 重命名文件(目录),文件或目录都是使用这条命令
shutil.move("oldpos","newpos") 移动文件(目录)
os.remove("file") 删除文件
os.rmdir("dir") 删除目录, 只能删除空目录
shutil.rmtree("dir") 空目录、有内容的目录都可以删
os.chdir("path") 转换目录, 换路径
os.mknod("test.txt") 创建空文件


2、mode文件操作模式


r,w,a

r+可读可写

w+:打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

a+:打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

模式列表


操作 说明
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
w 以写方式打开,
a 以追加模式打开 (从 EOF 开始, 必要时创建新文件)
r+ 以读写模式打开
w+ 以读写模式打开 (参见 w )
a+ 以读写模式打开 (参见 a )
rb 以二进制读模式打开
wb 以二进制写模式打开 (参见 w )
ab 以二进制追加模式打开 (参见 a )
rb+ 以二进制读写模式打开 (参见 r+ )
wb+ 以二进制读写模式打开 (参见 w+ )
ab+ 以二进制读写模式打开 (参见 a+ )


3、通过open获取到的文件句柄可以对文件作的其他操作


1)fp.closed


判断文件是否已经关闭。返回true如果文件已被关闭,否则返回false


(2)fp.mode


输出读写模式。返回被打开文件的访问模式。


(3)fp.name:


返回文件的名称。


(4) fp.softspace


如果用print输出后,是否跟一个空格符,false不打印,true则打印。


(5)fp.close()


刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。


(6)flush()


把缓冲区中的内容持久化写到磁盘里


缓存区写满的情况,系统会自动调用flush()方法。


调用flush的时机:写入了多少长度的数据,或者间隔了多长的时间


如果没有flush(),持久化内容丢失


(7)next()

for i in fp:
    print i


把一个file用for...in file这样的循环遍历语句时,就是调用next()函数来实现。

fp=open(fileName,'r')
print fp.next()
print fp.next()
print fp.fileno() #判断当前操作的文件句柄是哪一个number
fp.close()











相关文章
|
11天前
|
JSON 数据可视化 API
Python 中调用 DeepSeek-R1 API的方法介绍,图文教程
本教程详细介绍了如何使用 Python 调用 DeepSeek 的 R1 大模型 API,适合编程新手。首先登录 DeepSeek 控制台获取 API Key,安装 Python 和 requests 库后,编写基础调用代码并运行。文末包含常见问题解答和更简单的可视化调用方法,建议收藏备用。 原文链接:[如何使用 Python 调用 DeepSeek-R1 API?](https://apifox.com/apiskills/how-to-call-the-deepseek-r1-api-using-python/)
|
3月前
|
机器学习/深度学习 Python
堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能
本文深入探讨了堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能。文章详细介绍了堆叠的实现步骤,包括数据准备、基础模型训练、新训练集构建及元学习器训练,并讨论了其优缺点。
165 3
|
28天前
|
人工智能 自然语言处理 算法
随机的暴力美学蒙特卡洛方法 | python小知识
蒙特卡洛方法是一种基于随机采样的计算算法,广泛应用于物理学、金融、工程等领域。它通过重复随机采样来解决复杂问题,尤其适用于难以用解析方法求解的情况。该方法起源于二战期间的曼哈顿计划,由斯坦尼斯拉夫·乌拉姆等人提出。核心思想是通过大量随机样本来近似真实结果,如估算π值的经典示例。蒙特卡洛树搜索(MCTS)是其高级应用,常用于游戏AI和决策优化。Python中可通过简单代码实现蒙特卡洛方法,展示其在文本生成等领域的潜力。随着计算能力提升,蒙特卡洛方法的应用范围不断扩大,成为处理不确定性和复杂系统的重要工具。
69 21
|
26天前
|
数据挖掘 数据处理 开发者
Python3 自定义排序详解:方法与示例
Python的排序功能强大且灵活,主要通过`sorted()`函数和列表的`sort()`方法实现。两者均支持`key`参数自定义排序规则。本文详细介绍了基础排序、按字符串长度或元组元素排序、降序排序、多条件排序及使用`lambda`表达式和`functools.cmp_to_key`进行复杂排序。通过示例展示了如何对简单数据类型、字典、类对象及复杂数据结构(如列车信息)进行排序。掌握这些技巧可以显著提升数据处理能力,为编程提供更强大的支持。
32 10
|
2月前
|
安全
Python-打印99乘法表的两种方法
本文详细介绍了两种实现99乘法表的方法:使用`while`循环和`for`循环。每种方法都包括了步骤解析、代码演示及优缺点分析。文章旨在帮助编程初学者理解和掌握循环结构的应用,内容通俗易懂,适合编程新手阅读。博主表示欢迎读者反馈,共同进步。
|
3月前
|
算法 决策智能 Python
Python中解决TSP的方法
旅行商问题(TSP)是寻找最短路径,使旅行商能访问每个城市一次并返回起点的经典优化问题。本文介绍使用Python的`ortools`库解决TSP的方法,通过定义城市间的距离矩阵,调用库函数计算最优路径,并打印结果。此方法适用于小规模问题,对于大规模或特定需求,需深入了解算法原理及定制策略。
71 15
|
2月前
|
JSON 安全 API
Python调用API接口的方法
Python调用API接口的方法
410 5
WK
|
3月前
|
Python
Python中format_map()方法
在Python中,`format_map()`方法用于使用字典格式化字符串。它接受一个字典作为参数,用字典中的键值对替换字符串中的占位符。此方法适用于从字典动态获取值的场景,尤其在处理大量替换值时更为清晰和方便。
WK
148 36
|
3月前
|
机器学习/深度学习 人工智能 算法
强化学习在游戏AI中的应用,从基本原理、优势、应用场景到具体实现方法,以及Python在其中的作用
本文探讨了强化学习在游戏AI中的应用,从基本原理、优势、应用场景到具体实现方法,以及Python在其中的作用,通过案例分析展示了其潜力,并讨论了面临的挑战及未来发展趋势。强化学习正为游戏AI带来新的可能性。
216 4
|
3月前
|
Python
Python编程中的魔法方法(Magic Methods)
【10月更文挑战第40天】在Python的世界中,魔法方法就像是隐藏在代码背后的神秘力量。它们通常以双下划线开头和结尾,比如 `__init__` 或 `__str__`。这些方法定义了对象的行为,当特定操作发生时自动调用。本文将揭开这些魔法方法的面纱,通过实际例子展示如何利用它们来增强你的类功能。
55 1

热门文章

最新文章

推荐镜像

更多