文件操作的流程

  1. 打开文件

    f = open(r'文件路径', 'w', encoding='字符编码')

  2. 读取/修改文件

    f.write('写入')

  3. 保存文件

    f.flush() # 快速保存

  4. 关闭文件

    f.close() # 告诉操作系统关闭文件

文件的三种打开模式

读取: rt read_text 针对文本内容只读

f = open(r'C:\Users\Black\Documents\Python learning\文件操作', 'rt', encoding='utf-8')

data = f.read()
print(data)
print(f.readable) # True
print(f.writable) # False print(f.readline()) # 读取一行, 光标移动一行
print(f.readlines()) # 读取所有行,生成列表(包括换行\n) # 循环读取一个个字符
for i in f.read():
print(i) # 循环读取一行行
for i in f:
print(i)

清空写入: wt write_text 针对文本内容只写

# 使用'w'模式在打开时候就会清空文件
f = open(r'C:\Users\Black\Documents\Python learning\文件操作', 'wt', encoding='utf-8') print(f.readable()) # False
print(f.writable()) # True f.write('写入') # 自动拼接列表元素
f.writeliens(['第一行\n', '第二行\n','第三行'])

追加写入: at append_text 针对文本内容只写

# 使用'a'模式打开时候光标会默认移动到文件尾
f = open(r'C:\Users\Black\Documents\Python learning\文件操作', 'at', encoding='utf-8') print(f.readable()) # False
print(f.writable()) # True f.write('追加写入')

PS: 'w'和'a'模式可以自动创建文件

文件的两种形式

文本形式: t

用于文本文件的处理

二进制形式: b

一般用于图片/音频/视频的保存(和r/w/a联用, 不需要encoding)

文件路径

绝对路径

就是文件的详细路径地址, 从盘符开始: C:\Users\Black\Documents\Python learning\文件操作

相对路径

当前运行文件(C:\Users\Black\Documents\Python learning\test.py')的文件夹下的文件名 文件操作

with open打开文件

# with为我们提供了自动关闭文件的功能
with open(r''C:\Users\Black\Documents\Python learning\文件操作, 'wt',encoding='utf-8') as f:
# 在此缩进下文件不会关闭
f.write('清空写入') print('写入完成') # 当缩进结束文件关闭

可读可写模式(补充)

r+ : 即可读又可写, 光标在文本头部, 写入的话会覆盖后面的字符

w+: 即可读又可写, 会先清空文件内容

a+ : 即可读又可写, 光标在文档尾部, 读取的话会读不到内容

控制光标

with open(r''C:\Users\Black\Documents\Python learning\文件操作, 'rt',encoding='utf-8') as f:

    # 3表示读取的字符数量
print(f.read(3)) '''
3表示移动三个字节, 0表示光标的起始位置是头部(1表示当前位置,2表示文本尾部),
所以这行代码就表示从文档头部, 将光标向后移动三个字节
'''
f.seek(3, 0) # .tell()方法可以显示当前光标的位置
print(f.tell()) # .truncate()截断方法, 3表示光标向后移动三个字节,光标后的内容全部删除
f.truncate(3)

Python3 文件处理的更多相关文章

  1. 将 Python3 文件打包成 exe 文件

    我们用 Python 写好的代码,如何给别人在没有配置 Python 环境的情况下直接使用呢?尤其是面向 windows 众. 因为 Python 是一门解释性的语言,离开了 Python 解释器,P ...

  2. python系列十四:Python3 文件

    #!/usr/bin/python #Python3 文件 from urllib import requestimport pprint,pickle'''读和写文件open() 将会返回一个 fi ...

  3. python从入门到大神---4、python3文件操作最最最最简单实例

    python从入门到大神---4.python3文件操作最最最最简单实例 一.总结 一句话总结: python文件操作真的很简单,直接在代码中调用文件操作的函数比如open().read(),无需引包 ...

  4. Python2与python3 文件操作关于打开文件

    #首先在python3中操作文件只有一种选择,那就是open() #而在python2中则有两种方式:file()与open() 两者都能够打开文件,对文件进行操作,也具有相似的用法和参数,但是,这两 ...

  5. Python3 文件的重命名

    在Python3中我们要实现将本地文件homework.txt中的内容的修改操作时,大体的思路是这样的:先将homework.txt文件的内容读取到内存中,在内存中对里面的数据进行修改,接着将修改完成 ...

  6. python3 文件读写,编码错误UnicodeDecodeError

    问题:python3 with open文件进行读写,报编码错误 /usr/local/Cellar/python3/3.5.2/Frameworks/Python.framework/Version ...

  7. Python3 文件操作(十六)

    一 文件操作 1.介绍 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众 ...

  8. python3文件操作方法

    在python3中,我们可以使用open打开一个文件,那么打开文件后,文件有什么操作方法呢?接下来我就记录一下比较常用的方法. 1. close() 关闭打开的文件 2. fileno() 返回文件句 ...

  9. Python3文件

    open()方法 Python open()方法永于打开一个文件,并返回文件对象,并对文件进行处理过程中都需要用到这个方法,如果该文件无法被打开,则抛出OSError 注意:使用open()方法一定要 ...

  10. python3文件方法

    Python3 File(文件) 方法 需要注意:打开文件的 mode 参数注意区别文件指针位置 rw/rw+ 文件指针是在文件的开头,w任何模式都是会删除之前原有的内容的, a是追加且,打开文件指针 ...

随机推荐

  1. hdu 1385 Minimum Transport Cost (Floyd)

    Minimum Transport CostTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Ot ...

  2. nyoj 260-数数小木块 (打表)

    260-数数小木块 内存限制:64MB 时间限制:3000ms 特判: No 通过数:17 提交数:24 难度:1 题目描述: 在墙角堆放着一堆完全相同的正方体小木块,如下图所示: 因为木块堆得实在是 ...

  3. basename 和 dirname

    basename将目录路径去掉,返回文件的实际文件名(此处也可以是最后一级目录).如与$0一起 if [ $? -eq 0 ]; then cd - ; mv `basename $0` test1. ...

  4. linux目录数

    FHS Filesystem Hierarchy Standard(文件系统层次化标准,[ˈhaɪərɑ:rki] 等级制度)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系 ...

  5. drf序列化组件之视图家族

    一.视图家族的分类 1.导入分类 from rest_framewok import views, generics, mixins, viewsets views:视图类 ​ 两大视图类:APIVi ...

  6. 01-MongoDB数据库基础

    一.MongoDB数据库基础 1.MongoDB数据库介绍 什么是MongoDB? MongoDB是非关系型数据库中的一种,是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情 ...

  7. mysql安装与sqlyog安装

    首先是mysql安装,参考下面两个链接 https://www.cnblogs.com/gengyufei/p/11735358.html#_label4 https://www.jb51.net/a ...

  8. Java数组使用以及foreach循环

    Java数组使用以及foreach循环 二话不说,先甩一个简单的程序: final int NUM= 10; int[] arrays = new int[NUM]; System.out.print ...

  9. 2019-11-20:xss学习笔记

    xxe漏洞防御使用开发语言提供的禁用外部实体的方法phplibxml_disable_entity_loader(true); 卢兰奇对象模型,bom由于现代浏览器实现了js交互性方面的相同方法和属性 ...

  10. spring日志体系浅析(spring 5.x)

    日志是进行软件开发必不可少的一项功能,目前流行着很多开源日志库,比如log4j.log4j2.logback.JDK Logging.commons-logging.slf4j等. 几种日志产品的介绍 ...