已经收录大规模修改收录页面对网站有影响吗,阿里巴巴国际站怎么运营,做网站选大公司好还是小公司,电子商务网站建设商城网站在python中可以通过文件操作#xff0c;将数据保存到计算机硬盘中文件#xff0c;可以包含文本数据#xff0c;也可以包含二进制数据(图片#xff0c;视频#xff0c;音频等)。 目录
前言
正文
一、基本语法 1、函数open()打开file 返回一个文件对象 1.1、文件路径 1将数据保存到计算机硬盘中文件可以包含文本数据也可以包含二进制数据(图片视频音频等)。 目录
前言
正文
一、基本语法 1、函数open()打开file 返回一个文件对象 1.1、文件路径 1相对路径 2绝对路径完整的路径 1.2、访问模式mode 1.3、encoding 指定编码格式 2、文件中常用的方法 3、实操通过文件操作复制一张图片并将其名称修改 二、with上下文管理
三、文件定位
总结 前言 如果我们想要将一个数据永久的保存到计算机中/读取计算机中的文件那么我们就需要使用python中的文件操作将指定的数据写到文件里/读取出来。一般而言读/写文件的操作分为三步 1、打开文件 open() 2、操作文件 读把文件里的内容读出来 read() 写把内存中的内容写到文件里 write() 3、关闭文件 close()
注意为了避免系统资源浪费同时也能保证数据不会丢失在对一个文件操作结束时一定要关闭该文件。 正文
一、基本语法 1、函数open()打开file 返回一个文件对象 文件对象 open(文件路径,mode指定访问模式,encoding指定编码格式) 1.1、文件路径 在文件的处理中文件的路径是尤为重要的如果路径出现错误会引发代码或者程序的错误一般而言我们的文件路径分为相对路径和绝对路径 1相对路径 相对路径通过当前执行文件所在的位置进行查找 如aaa.txt 表示当前路径下的aaa.txt文件 同时我们可以通过不同的文件操作符来控制目录中的上下级 ../ 表示上一级目录 目录名/ 表示该目录下的文件 目录关系如下 读取方式
file1 open(1.txt) # 读取当前目录下的文件
file2 open(文件/2.txt) # 读取子目录中的文件
file3 open(../3.txt) # 读取上一级的文件
# 以上操作可以组合起来
file4 open(文件/../1.txt) # 读取下一级再读取上一级
file5 open(../代码/文件/2.txt) # 读取上一级在读取下两级2绝对路径完整的路径 绝对路径通过指定该文件在电脑中的具体位置来对该文件进行操作。 如F:\python\aaa.txt 表示在该电脑的f盘python目录下aaa.txt文件 1.2、访问模式mode 文件的读写模式模式模式名称含义r只读只进行读取的操作如果读取的文件不存在则会报错w只写只进行写的操作如果读取的文件不存在则会创建一个新的文件如果写入的文件中存在内容会被覆盖a追加进行写的操作如果文件不存在则会创建一个新的文件文件存在在会在该文件的末尾进行写入组合字符字符名称含义b二进制在文件的读写模式后添加b字符表示读写二进制文件如rb表示读取二进制文件可读可写r表示可读写文件会先进行读的操作文件不存在会报错w表示可读写文件会先进行写的操作文件不存在则创建新文件打开文件会覆盖原来的内容 1.3、encoding 指定编码格式 如果读取或写入文件和文件的编码格式指定的不匹配将会出现乱码情况这时就需要手动去指定编码格式。读二进制类型的数据(图片、视频) 不需要加上encoding 没有指定默认就操作系统使用自己默认的编码 Linux(utf-8) window(gbk) 2、文件中常用的方法
文件中常用的方法操作函数含义关闭文件文件对象.close()向操作系统发生关闭文件请求 回收系统资源读取文件内容文件对象.read(n)读取文件里数据n表示从文件中读取数据的长度省略表示全部读取文件对象.readline()一次读取一行的内容 文件对象.readlines()按照行的方式一次性读取全部内容返回数据是一个列表写入文件文件对象.write(str)只能写入字符串类型 注意文件对象是可迭代对象所以我们可以通过for循环来进行逐行读取
lin abcd\nefg\nhijkl\n
with open(3.txt, w) as f:f.write(lin)
with open(3.txt, r, encodingutf-8) as f:for i in f:print(i, end)3、实操通过文件操作复制一张图片并将其名称修改
# 打开文件
file1 open(1.jpg, rb)
# 读取文件
img file1.read()
# 关闭文件
file1.close()
file2 open(1_copy.jpg, wb)
# 写入文件
file2.write(img)
file2.close() 二、with上下文管理 在对文件的处理中如果我们遇见较多的操作就容易忘记关闭文件而造成资源的浪费为了避免这总情况我们通常会使用with语句来对文件进行操作。 语法with open(文件位置,mode模式,encodeing编码) as 文件变量名: 文件变量名.write() 文件变量名.read() 同时with语句能使我们的代码更加简洁也能更加直观的表现出对某文件的操作过程。 如上面复制图片的过程可以写成
with open(1.jpg, rb) as f1:img f1.read()
with open(1_copy.jpg, wb) as f2:f2.write(img)三、文件定位 在对文件进行读取时文件读取的位置或随着读取字符个数而往后移动如
lin abcd\nefg\nhijkl\n
with open(3.txt, w) as f:f.write(lin)
with open(3.txt, r, encodingutf-8) as f:print(f.read(5), end)print(f.read(5), end)可以看到虽然都是读取五个字符但是结果却不同这就是因为文件的读取位置发生了改变。如果我们需要多次读取同一块文件的数据或指定读取的位置那我们可以通过seek函数来对文件的读取位置进行定位。 语法文件变量名.seek(字节数,whence) 字节数表示需要移动的个数 whence表示要从哪个位置开始移动0代表从文件开头开始算起1代表从当前位置开始算起2代表从文件末尾算起。默认值为 0。 注意对于基于文本模式的文件对象默认情况下是文本模式只能从文件的开头whence0进行偏移量的设置而不能从当前位置whence1或者文件末尾whence2。
lin abcd\nefg\nhijkl\n
with open(3.txt, w) as f:f.write(lin)
with open(3.txt, r, encodingutf-8) as f:print(f.read(5), end)f.seek(0) # 表示从第零个字符开始读取print(f.read(5), end)f.seek(2) # 表示从第二个字符开始读取print(f.read(5), end)总结 Python提供的文件操作功能使得处理文件变得高效且易于实现。在实际应用中文件操作是Python编程中常见的任务之一能够帮助实现数据的持久化存储和读取。是一个十分好用的操作。