06-文件操作
文件
python 中文件以两种方式存在,第一种是文本格式,文本格式是人类可阅读的格式,另一种格式是二进制。二进制一般需要配合其他的软件进行使用。
python 打开文件的方式类似C语言的方式,以读模式、写模式、读写模式、二进制模式等。
文件的四个基本操作:打开文件、读文件、写文件、关闭文件。
open
read
write
close
open 为了获取文件操作符,读写关闭都需要文件操作符进行使用。
read 如果不限制读取的数量,则会将文件中所有内容读取出来。如果执行了一次read,则再次执行read,不会读取内容,因为文件指针此时已经移动到了文件的末尾。
文件访问方式:
r, w, a
r+, w+, a+
a是追加模式,自动会将文件指针置于文件末尾。
r是只读,w是只写
r+和w+都是读写,不过w+如果文件不存在,则会创建新文件。
除此之外,还有rb,wb,rb+,r+b,wb+,w+b等二进制方面的操作。
因为read 一次性将文件所有内容读取到内容,如果文件内容过大,则内存压力太大,因此还可以按行读取。
readline,复制操作
def copy(src, dst):
src_fd = open(src, "r+")
if not src_fd:
src_fd.close()
print("%s 文件打开失败" % (src))
dst_fd = open(dst, "w+")
if not dst_fd:
print("%s 文件打开失败" % (dst))
dst_fd.close()
src_fd.close()
dst_fd.write(src_fd.read())
src_fd.close()
dst_fd.close()
如果大文件,则使用按行复制的方式
def copy(src, dst):
src_fd = open(src, "r+")
if not src_fd:
src_fd.close()
print("%s 文件打开失败" % (src))
dst_fd = open(dst, "w+")
if not dst_fd:
print("%s 文件打开失败" % (dst))
dst_fd.close()
src_fd.close()
while True:
line = src_fd.readline()
if not line:
break
dst_fd.write(line)
src_fd.close()
dst_fd.close()
seek
文件定位指针,类似C语言中的fseek,seek(offset, from)
这样进行使用。
文件目录的操作
在python 中,可以很方便的对文件和目录进行操作。
需要导入 os 模块。
常用操作:
"""
os.rename(源文件名, 目标文件名)
os.remove(文件名)
os.listdir(目录名) 目录列表
os.mkdir(目录名) 创建目录
os.rmdir(目录名) 删除目录
os.getcwd() 获取当前目录
os.chdir() 修改当前目录
isdir() 判断是否是文件夹
"""
eval
eval 函数可以将字符串当作表达式进行求值。
type(eval('[1,2,3,4,5]')) # list
__import__('os').system('ls')
等价于:
import os
os.system("终端命令")
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构