文件操作的过程

1)打开

2)操作

3)关闭

1.写(清空写入)

# f = open(file='test', mode='w', encoding='utf-8')  # 第一种情况
# f.write("Hello World!")
# f.close() # f = open(file='test', mode='wb')  # 第二种情况      
# f.write("杨".encode('utf-8'))
# f.close() # with open(file='test', mode='w', encoding='utf-8') as f:  # 第三种情况
# f.write("高圆") with open(file='test', mode='wb') as f1:  # 第四种情况
f1.write("李璐".encode('utf-8'))

2.读

# 读
# f = open(file='test', mode='r', encoding='utf-8')
# data = f.read()
# print(data)
# f.close() # f = open(file='test', mode='rb')
# data = f.read()
# print(data.decode('utf-8'))
# f.close() # with open(file='test', mode='r', encoding='utf-8') as f1:
# data = f1.read()
# print(data) with open(file='test', mode='rb') as f1:
data = f1.read().decode('utf-8')
print(data)

3.追加写入

# 追加
# f = open(file='test', mode='a', encoding='utf-8')
# f.write('\nWhat?')
# f.close() # f = open(file='test', mode='ab')
# f.write("\ntom".encode('utf-8'))
# f.close() # with open(file='test', mode='a', encoding='utf-8') as f1:
# f1.write("\nHi") with open(file='test', mode='ab') as f1:
f1.write('\njoker'.encode('utf-8'))

4.读写

# 读写

# f = open(file='test', mode='r+', encoding='utf-8')
# data = f.read()
# print(data)
# f.write("\tok")
# f.close() # f = open(file='test', mode='r+b')
# data = f.read().decode('utf-8')
# print(data)
# f.write('\tfun'.encode('utf-8'))
# f.close() # with open(file='test', mode='r+', encoding='utf-8') as f1:
# data = f1.read()
# print(data)
# f1.write("\tfine") with open(file='test', mode='r+b') as f1:
data = f1.read().decode('utf-8')
print(data)
f1.write('\tsad'.encode('utf-8'))

5.清空写读

# 清空写读

# f = open(file='test', mode='w+', encoding='utf-8')
# f.write("blue")
# f.seek(0)
# data = f.read()
# print(data) # f = open(file='test', mode='w+b')
# f.write("joker".encode('utf-8'))
# f.seek(0)
# data = f.read().decode('utf-8')
# print(data) # with open(file='test', mode='w+', encoding='utf-8') as f1:
# f1.write("Hello World!")
# f1.seek(0)
# data = f1.read()
# print(data) with open(file='test', mode='w+b') as f1:
f1.write("Thank you!".encode('utf-8'))
f1.seek(0)
data = f1.read().decode('utf-8')
print(data)

6.追加写读

# 追加写

# f = open(file='test', mode='a+', encoding='utf-8')
# f.write("\ttom")
# f.seek(0)
# data = f.read()
# print(data) # f = open(file='test', mode='a+b')
# f.write("\ttom".encode('utf-8'))
# f.seek(0)
# data = f.read().decode('utf-8')
# print(data) # with open(file='test', mode='a+', encoding='utf-8') as f1:
# f1.write("\tjoker")
# f1.seek(0)
# data = f1.read()
# print(data) with open(file='test', mode='a+b') as f1:
f1.write("\ttom".encode('utf-8'))
f1.seek(0)
data = f1.read().decode('utf-8')
print(data)

7.常用方法

1)read(n)

光标位置m,读取从m->m+n,n个字符

2)seek(n)

设置光标的位置,n为字节(从0开始)

3)tell()

获取当前光标的位置,单位是字节

with open(file='test1', mode='r+', encoding='utf-8') as f:
f.seek(3) # 设置光标位置,字节
data = f.read(2) # 读取,字符
a = f.tell() # 获取光标位置,字节
print(data, '\t', a)

4)按行读取

a.for循环

with open(file='test1', mode='r+', encoding='utf-8') as f:
for line in f:
print(line)

b.readlines

readlines(),打印的是list,一行作为一个元素

with open(file='test1', mode='r+', encoding='utf-8') as f:
data = f.readlines()
print(data)

c.readline()

读取一行

with open(file='test1', mode='r+', encoding='utf-8') as f:
data = f.readline()
print(data)

d.truncate(n)

n为空时,从当前位置截断

n不为空时,从n开始截断(n后的内容舍弃)

n为字节

with open(file='test', mode='w', encoding='utf-8') as f:
f.write("你好,之华,之南")
f.truncate(6)

python3文件操作的更多相关文章

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

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

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

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

  3. Python3 文件操作(十六)

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

  4. [Python] python3 文件操作:从键盘输入、打开关闭文件、读取写入文件、重命名与删除文件等

    1.从键盘输入 Python 2有两个内置的函数用于从标准输入读取数据,默认情况下来自键盘.这两个函数分别是:input()和raw_input(). Python 3中,不建议使用raw_input ...

  5. python3 文件操作练习 r+ w+ a+ 的理解

    突然来一句:“慨然有经略四方之志” 文件操作三部曲:1.先用open打开 2.再写关闭  3.再回到中间写操作     为啥要刚打开就关闭 那是很容易望,所以先写上... 基本格式 f = open( ...

  6. python3 文件操作

    步骤:打开文件->操作文件->关闭文件 打开文件 文件句柄 = open('文件路径', '模式') 指定文件编码 文件句柄= open('文件路径','模式',encoding='utf ...

  7. Python3文件操作1 --Python3

    1.文件的两种类型 文本文件:由单一特定的编码字符组成(如:txt文件) 二进制文件:直接由比特0和比特1组成,文件内部数据组织格式与文件的用途有关(视频.图片) 2.文件主要操作概述 Python对 ...

  8. Python3 文件操作基本语法

    对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 f = open('lyrics') #打开文件 first_line = f.readline() prin ...

  9. Python3学习之路~2.7 文件操作

    对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下 Somehow, it seems the love I knew was always the ...

随机推荐

  1. P1062 差K素数对

    题目描述 给你两个数 n 和 k ,请求出所有小于等于 n 的相差为 k 的素数对. 输入格式 两个正整数n,k.1<=k<=n<=10000. 输出格式 所有小于等于n的素数对.每 ...

  2. P1054 全组合

    题目描述 给定n,m,按字典序输出所有从1-n里面取出m个数的组合.比如从1-3里面取出2个的组合是: 1 2 1 3 2 3 输入格式 输入两个数n,m.其中 \(0<n<=10,0&l ...

  3. C# 在 构造函数添加 CallerMemberName 会怎样

    在 C# 中有一个特性 CallerMemberName 可以给方法知道调用这个方法的方法名,在 UWP 中用这个特性很多,特别是在使用 MVVM 绑定 如果在构造函数使用这个特性会发生什么? 构造函 ...

  4. Java中的断言assert的用法

    Java陷阱之assert关键字 一.概述 在C和C++语言中都有assert关键,表示断言. 在Java中,同样也有assert关键字,表示断言,用法和含义都差不多. 二.语法 在Java中,ass ...

  5. 有状态无状态回话bean

    1.有状态(Stateful) 可以在不同的方法调用间保持针对各个客户端的状态 与客户端的联系必须被维持,这样做开销要大一些 有状态也可以这样理解,它存在存储能力,也就是说至少有一个属性来标识它目前的 ...

  6. 2018-2-13-win10-UWP-九幽数据分析

    title author date CreateTime categories win10 UWP 九幽数据分析 lindexi 2018-2-13 17:23:3 +0800 2018-2-13 1 ...

  7. asp.net core web api 发布到iis失败 错误500.19

    找了很久,发现是没有装DotNetCore.2.0.0-WindowsHosting.exe的原因. 还是官方文档最给力.部署时遇到问题的朋友可以参考官方文档 https://docs.microso ...

  8. boostrap-非常好用但是容易让人忽略的地方【1】:modal

    使用bootstrap框架好久了,在开发中也用到了或者遇到了很多的问题,所以跟大家分享一下 bootstrap modal 组件的样式 .modal-lg .modal-sm 说明:这个是bootst ...

  9. 读<大道至简>--软件工程实践者的思想有感

    初闻其名,<大道至简>,大多人都会觉得这是一本满腹人生哲理的书籍,作者洋洋洒洒的谈论大道理,其实不然,作者以古典文化为引,以作者的所思所想为线,启蒙了我作为一个软件工程初学者的实践思想. ...

  10. windows下的redis和redismyadmin

    redis默认是16个数据库,从0-15 由于项目需要,我使用了19号数据库,然而再向19号数据库添加数据的时候,通过redismyadmin查看发现添加到19号数据库的数据会同步到0,16,17,1 ...