Python3 文件处理
文件操作的流程
打开文件
f = open(r'文件路径', 'w', encoding='字符编码')读取/修改文件
f.write('写入')保存文件
f.flush()# 快速保存关闭文件
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 文件处理的更多相关文章
- 将 Python3 文件打包成 exe 文件
我们用 Python 写好的代码,如何给别人在没有配置 Python 环境的情况下直接使用呢?尤其是面向 windows 众. 因为 Python 是一门解释性的语言,离开了 Python 解释器,P ...
- python系列十四:Python3 文件
#!/usr/bin/python #Python3 文件 from urllib import requestimport pprint,pickle'''读和写文件open() 将会返回一个 fi ...
- python从入门到大神---4、python3文件操作最最最最简单实例
python从入门到大神---4.python3文件操作最最最最简单实例 一.总结 一句话总结: python文件操作真的很简单,直接在代码中调用文件操作的函数比如open().read(),无需引包 ...
- Python2与python3 文件操作关于打开文件
#首先在python3中操作文件只有一种选择,那就是open() #而在python2中则有两种方式:file()与open() 两者都能够打开文件,对文件进行操作,也具有相似的用法和参数,但是,这两 ...
- Python3 文件的重命名
在Python3中我们要实现将本地文件homework.txt中的内容的修改操作时,大体的思路是这样的:先将homework.txt文件的内容读取到内存中,在内存中对里面的数据进行修改,接着将修改完成 ...
- python3 文件读写,编码错误UnicodeDecodeError
问题:python3 with open文件进行读写,报编码错误 /usr/local/Cellar/python3/3.5.2/Frameworks/Python.framework/Version ...
- Python3 文件操作(十六)
一 文件操作 1.介绍 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众 ...
- python3文件操作方法
在python3中,我们可以使用open打开一个文件,那么打开文件后,文件有什么操作方法呢?接下来我就记录一下比较常用的方法. 1. close() 关闭打开的文件 2. fileno() 返回文件句 ...
- Python3文件
open()方法 Python open()方法永于打开一个文件,并返回文件对象,并对文件进行处理过程中都需要用到这个方法,如果该文件无法被打开,则抛出OSError 注意:使用open()方法一定要 ...
- python3文件方法
Python3 File(文件) 方法 需要注意:打开文件的 mode 参数注意区别文件指针位置 rw/rw+ 文件指针是在文件的开头,w任何模式都是会删除之前原有的内容的, a是追加且,打开文件指针 ...
随机推荐
- SQL的四种连接(左外连接、右外连接、内连接、全连接)
1.内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符).包括相等联接和自然联接. 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 stude ...
- nyoj 311-完全背包 (动态规划, 完全背包)
311-完全背包 内存限制:64MB 时间限制:4000ms Special Judge: No accepted:5 submit:7 题目描述: 直接说题意,完全背包定义有N种物品和一个容量为V的 ...
- Java,你告诉我 fail-fast 是什么鬼?
本篇我们来聊聊 Java 的 fail-fast 机制,文字一如既往的有趣哦. 01.前言 说起来真特么惭愧:十年 IT 老兵,Java 菜鸟一枚.今天我才了解到 Java 还有 fail-fast ...
- 微服务架构 - Jimu(积木) 升级 1.0.0 支持 .Net Core 3.0
如果不知道 Jimu(积木) 是啥,请移步 .Net Core 分布式微服务框架介绍 - Jimu 这次升级除了支持 .Net Core 3.0 还新增部分功能,如 REST, 链路跟踪等,以下为详细 ...
- C语言I博客作业09
问题 答案 这个作业的属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-4/homework/10034 我 ...
- ZeroC ICE的协议
- Java 大小端转换(基于ByteBuffer)
大小端的基础知识: 小端( little-endian):低位字节在前,高位字节在后.大端( Big-Endian),则反之.具体而言,就是为了说清楚,CPU架构1 字(word)中byte的存储顺序 ...
- 小白的springboot之路(三)、集成mybatis与MySQL
0.前言 mybatis属于半自动的ORM,相比hibernate这种全自动的ORM,兼顾了性能与易用:目前企业项目中,基本都是mybatis的天下:今天就来整合mybatis与MySQL: 1.整合 ...
- Codeforces Round #451 (Div. 2) A B C D E
Codeforces Round #451 (Div. 2) A Rounding 题目链接: http://codeforces.com/contest/898/problem/A 思路: 小于等于 ...
- JavaScript新手经常遇到的问题(二)
1.Form表单只提交数据而不进行页面跳转的方法 <script type="text/javascript" src="js/jquery/jquery-1.8. ...