九、文件(一)

文件(一)

  1. 文件的基本操作
  2. 文件的打开:内置函数open(文件的路径,文件的模式,编码格式(可选))

文件的模式有:r, w, a,,b,+

r: 只读,不可以写, 如果找不到文件,会报错。

C:\Users\巧克力\AppData\Local\Temp\1612921816(1).png

w: 只写模式,只可以写不可以读,无论有没有文件,都会创建,然后覆盖。

C:\Users\巧克力\AppData\Local\Temp\1612923017(1).png

a: 追加模式,只可以写,不可以读

C:\Users\巧克力\AppData\Local\Temp\1612923444(1).png

b: 叠加,二进制打开(字节)。

C:\Users\巧克力\AppData\Local\Temp\1612923900(1).png

+:叠加,更新(能够让我们的模式可以读也可以写)

C:\Users\巧克力\AppData\Local\Temp\1612924264(1).png

注意正确模式: a+ ab+ w+ r+ rb wb (r,w,a有其一)错误:aw

  1. 路径:相对路径,绝对路径

相对路径:从文件本身出发,寻找目标文件(当前目录: ./; 上级目录: ../; 进入目录: 文件名/)。

C:\Users\巧克力\AppData\Local\Temp\1612952363(1).png

C:\Users\巧克力\AppData\Local\Temp\1612952785(1).png

绝对路径: 从磁盘开始出发,寻找目标文件(注意取消转义用:\\,r'')

C:\Users\巧克力\AppData\Local\Temp\1612953520(1).png

3.文件分类:字符文件,字节文件

字符文件:右击用记事本打开,凡是看得懂的都是(各种文本文档:r,w,a)

字节文件:右击用记事本打开,凡是看得不懂的都是字节文件(图片,音频,视频等:rb(只读的方式打开二进制文件),wb,ab)

  1. 读取文件:文件对象.read()

C:\Users\巧克力\AppData\Local\Temp\1612952363(1).png

C:\Users\巧克力\AppData\Local\Temp\1612955741(1).png

C:\Users\巧克力\AppData\Local\Temp\1612956372(1).png

C:\Users\巧克力\AppData\Local\Temp\1612956791(1).png

注意:a+模式的write,会自动把关闭设置最后去写,r在设置的光标位置写,会覆盖

  1. 写入文件:文件对象.write(‘要写入的内容’)并且保存用:文件对象.flush()

C:\Users\巧克力\AppData\Local\Temp\1612954379(1).png

写入多行:文件对象.writelines(‘要写入的内容’), 参数是列表

C:\Users\巧克力\AppData\Local\Temp\1612955522(1).png

C:\Users\巧克力\AppData\Local\Temp\1612956791(1).png

  1. 文件执行的基本步骤:打开文件,写入文件,保存文件,关闭文件

C:\Users\巧克力\AppData\Local\Temp\1612954736(1).png

例如:读取文件的操作

C:\Users\巧克力\AppData\Local\Temp\1612957526(1).png

C:\Users\巧克力\AppData\Local\Temp\1612957822(1).png

总结:文件操作步骤:获取文件指定位置(打开文件),内容操作,关闭文件

  1. with(上下文管理器): 每次打开文件都需要再次关闭,但是如果使用with 可以自动关闭文件,不需要手动关闭
  2. 语法规则:with open(文件地址,模式,编码格式) as 变量名: 光标定位,缩进里面的文字操作

C:\Users\巧克力\AppData\Local\Temp\1612958867(1).png

C:\Users\巧克力\AppData\Local\Temp\1612959060(1).png

注意:如果编码格式一样不用写

复制文件的应用:读取复制的文件,写入指定的位置

C:\Users\巧克力\AppData\Local\Temp\1612959993(1).png

posted @   chocolateone  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示