4.1 文件基本操作

obj = open('路径',mode='模式',encoding='编码')
obj.write() # 写入
obj.read() # 读取
obj.close() #关闭

4.2 打开模式

r / w / a 【只读只写字符串】
r+ / w+ / a+ 【可读可写字符串】
rb / wb / ab 【只读只写二进制】
r+b / w+b / a+b 【可读可写二进制】

4.3 操作

read() , 全部读到内存

read(1)

1表示一个字符

obj = open('a.txt',mode='r',encoding='utf-8')
data = obj.read(1) # 1个字符
obj.close()
print(data)
1表示一个字节 obj = open('a.txt',mode='rb')
data = obj.read(3) # 1个字节
obj.close()
write(字符串) obj = open('a.txt',mode='w',encoding='utf-8')
obj.write('中午你')
obj.close()
write(二进制) obj = open('a.txt',mode='wb') # obj.write('中午你'.encode('utf-8'))
v = '中午你'.encode('utf-8')
obj.write(v) obj.close()
seek(光标字节位置),无论模式是否带b,都是按照字节进行处理。 obj = open('a.txt',mode='r',encoding='utf-8')
obj.seek(3) # 跳转到指定字节位置
data = obj.read()
obj.close() print(data) obj = open('a.txt',mode='rb')
obj.seek(3) # 跳转到指定字节位置
data = obj.read()
obj.close() print(data)
tell(), 获取光标当前所在的字节位置 obj = open('a.txt',mode='rb')
# obj.seek(3) # 跳转到指定字节位置
obj.read()
data = obj.tell()
print(data)
obj.close()
flush,强制将内存中的数据写入到硬盘 v = open('a.txt',mode='a',encoding='utf-8')
while True:
val = input('请输入:')
v.write(val)
v.flush() v.close()

4.4 关闭文件

文艺青年

v = open('a.txt',mode='a',encoding='utf-8')

v.close()

二逼

with open('a.txt',mode='a',encoding='utf-8') as v:
data = v.read()
# 缩进中的代码执行完毕后,自动关闭文件

4.5 文件内容的修改

with open('a.txt',mode='r',encoding='utf-8') as f1:
data = f1.read()
new_data = data.replace('飞洒','666') with open('a.txt',mode='w',encoding='utf-8') as f1:
data = f1.write(new_data)

大文件修改

f1 = open('a.txt',mode='r',encoding='utf-8')
f2 = open('b.txt',mode='w',encoding='utf-8') for line in f1:
new_line = line.replace('阿斯','死啊')
f2.write(new_line)
f1.close()
f2.close()
with open('a.txt',mode='r',encoding='utf-8') as f1, open('c.txt',mode='w',encoding='utf-8') as f2:
for line in f1:
new_line = line.replace('阿斯', '死啊')
f2.write(new_line)

分分钟钟学会Python - 第四章 文件操作的更多相关文章

  1. 分分钟钟学会Python - 文件操作

    文件操作 1 文件基本操作 obj = open('路径',mode='模式',encoding='编码') obj.write() # 写入 obj.read() # 读取 obj.close() ...

  2. 2 python第三章文件操作

    1.三元运算 三元运算又称三目运算,是对简单的条件语句的简写,如: 简单条件语句: if 条件成立: val = 1 else: val = 2 改成三元运算: val = 1 if 条件成立 els ...

  3. 分分钟钟学会Python - 函数(function)

    函数(function) 1 基本结构 本质:将多行代码拿到别处并起个名字,以后通过名字就可以找到这行代码并执行 应用场景: 代码重复执行 代码量很多超过一屏,可以选择通过函数进行代码的分割 写代码方 ...

  4. 分分钟钟学会Python - 数据类型(list、tuple)

    第四节 数据类型(列表.元祖) 今日内容 列表 元祖 1.列表 1.格式 users = ["ji",1,3,"gyhj"] 2.公共方法 1.len #计算长 ...

  5. 分分钟钟学会Python - 数据类型(int、bool、str)

    第三天学习内容 今日内容 1.整型(int) 2.布尔类型(bool) 3.字符串(str) 内容详细 1.整型 Python中的整型用int表示. 1.python2中: 在32位机器上,整数的位数 ...

  6. 分分钟钟学会Python - 解释器安装

    1.解释器安装 1. 下载解释器 python 2.7.16 (2020年官方不在维护) python 3.6.8 (推荐) 2.安装 python 3.6.8 安装位置随意,自己能找到了就行. 安装 ...

  7. 分分钟钟学会Python - 基础

    1.常见操作系统 1.windows xp/win7/win/10/window server 2.linux centos,图形化界面差 ubuntu,个人开发(图形化比较好) redhat,企业级 ...

  8. 分分钟钟学会Python - 模块

    目录 模块 1 模块基础知识 2 random 返回随机生成的一个实数 3 hashlib 摘要算法模块 Hmac算法 4 time /datetime 时间模块 5 getpass 密码不显示(只能 ...

  9. 分分钟钟学会Python -基础&运算符

    day002 基础&运算符 1.循环语句 ### 1.循环格式 while 条件: print('') ''' while True: print('人生苦短,我用Python.') ''' ...

随机推荐

  1. 这次一定要记住opencv和cv2是什么及其基础用法

    opencv是一个基于BSD许可发行(也就是俗称的开源)的跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS上.由一系列 C 函数和少量 C++ 类构成的它轻量且高 ...

  2. Jenkins(6)测试报告邮件发送

    前言 前面已经实现在jenkins上展示html的测试报告,接下来只差最后一步,把报告发给你的领导,展示你的劳动成果了. 安装 Email Extension Plugin 插件 jenkins首页- ...

  3. 使用kubekey安装kubesphere

    下载 KubeKey KubeKey 是新一代 Kubernetes 和 KubeSphere 安装器,可帮助您以简单.快速.灵活的方式安装 Kubernetes 和 KubeSphere. expo ...

  4. 最好的IDEA debug长文?看完我佛了

    前言 你好,我是A哥(YourBatman). 最近写了几篇IntelliJ IDEA系列的文章,反响蛮好.我想了下,因为并非是分享什么破解方法.推荐插件.主题这种蛋炒饭式哗众取宠的文章,而是真实对工 ...

  5. Web开发模型

    1.服务器 web服务器:pc机器安装一个具有web服务的软件,称之位web服务器 数据库服务器:pc机器安装一个具有数据管理件服务的软件,称之为web服务器 邮件服务器:pc机器安装一个具有发送邮件 ...

  6. HDU6370 Werewolf 【基环内向树】

    HDU6370 Werewolf 题意: 有\(N\)个人玩狼人杀,只有村民和狼人,每个人指定另一个人并指出一个身份,其中:村民是不会说谎的,狼人是有可能说谎的,问在所有情况下必然是狼人的人数和必然是 ...

  7. Codeforces Round #533 (Div. 2) B. Zuhair and Strings(字符串)

    #include <bits/stdc++.h> using namespace std; int main() { int n,k;cin>>n>>k; stri ...

  8. Gym - 102062A、B、C、D、E、F、G、H

    比赛链接:https://vjudge.net/contest/409725#problem 题面点此处进入 Gym - 102062A 题意: 就是说比赛一共发a+b+c+d个牌子,现在不带上主人公 ...

  9. Codeforces Round #665 (Div. 2) Distance and Axis、

    题目链接:Distance and Axis 题意:在ox轴上,给出点A的横坐标x,你可以向左或右移动点A(x+1/x-1),问你最小移动A的次数,以使得可以在ox轴上找到B点位置,B点满足从O到B的 ...

  10. 浅谈Webpack模块打包工具二

    Webpack插件机制介绍 Loader专注实现资源模块加载,plugin解决其他自动化工作,比如清除dist目录,拷贝静态文件值输出目录,压缩输出代码等,下面列举几个plugin 的例子. Webp ...