Day8 文件处理

文件处理

文件操作初识

文件路径:d:ake.txt

编码方式:utf-8,gbk,GB2312....

操作方式:只读,只写,写读,读写,追加 等。

报错原因:

        UnicodeDecodeError: 'gb2312' codec can't decode byte 0xa6 in position 2: illegal multibyte sequence

        编码不一致,存储文件时编码与打开文件时编码不一致。

        r'd:\ake.txt ‘ 路径问题

        1,在路径的最前面,+ r

        2,每个\ 变成 \\

绝对路径: d:\ake.txt 从根目录开始找

相对路径: 当前目录,当前文件夹。

读:

r  只读模式

read 一次性都读出来
f =open("ake",encoding="utf-8",mode="r")
content = f.read(5) # 读取文件里的5个字符
print(content)
f.close()

readline 按行读取
f = open("ake",encoding="utf-8",mode="r")
print(f.readline()) # 打印第一行字符串
f.close()

readlines 按行读出来,并将其放在一个列表中
f = open("ake",encoding="utf-8",mode="r")
content = f.readlines()
for i in range(len(content)):  # 循环列表
    content[i] = content[i].strip()  # 通过索引去掉每个元素的空格跟换行符
print(content)
f.close()

for循环
f = open("文件操作1",encoding="utf-8")
for i in f:
    print(i.strip())
f.close()

  

r+ 读写模式

rb  文件凡是操作带b字母,都是与非文字类文件相关的

f = open(r"D:\Qishijihua\视频\day08\day08\美女1.jpg",mode="rb")  # r 为转义字符
content = f.read()
print(content)
f.close()

f = open("文件操作1",encoding="utf-8",mode="r+")  
content = f.read()  # 先读
print(content)
f.write("666")  # 再写
f.close()
# 如果不读直接写会覆盖

  

写

w 写模式,没有文件创建文件也要写

wb 非文字类写入

w+ 读写,先读后写

w
f = open("种子.txt",encoding="utf-8",mode="w")
f.write("www.hao123.com")
f.close()

wb
f = open(r"D:\Qishijihua\视频\day08\day08\美女1.jpg",mode="rb")
content = f.read()
print(content)
f1 = open("美女2.jpg",mode="wb")
f1.write(content)
f.close()
f1.close()

w+
f = open("ake",encoding="utf8",mode="w+")
f.write("我爱python")
content = f.read()
print(content)
f.close()

  

追加

a 没有文件创建文件也要写。有文件直接在文件后面追加

a+ 写读

a
f = open("文件操作",encoding="utf-8",mode="a")
f.write("\n我爱北京天安门")
f.close()

a+
f = open("文件操作",encoding="utf-8",mode="a+")
content = f.write("\n天安门上太阳升")
print(content)
f.close()

  

改   

  1,以读的模式打开原文件,产生一个文件句柄f1.

  2,以写的模式创建一个新文件,产生一个文件句柄f2.

  3,读取原文件内容,进行修改,并将修改后的写入新文件。

  4,将原文件删除。

  5,将新文件重命名成原文件。

import os
with open('ake','r',encoding='utf-8') as f1,\
    open("ake.bak",'w',encoding='utf-8') as f2:
    con=f1.read()
    new_con=con.replace("的",'得')
    f2.write(new_con)
os.remove("ake")
os.rename('ake.bak','ake')

import os
with open('alex.txt','r',encoding='utf-8') as f14,\
    open('alex.bak','w',encoding='utf-8') as f15:
    for line in f14:
        line.replace('alex','SB')
        f15.write(line)
os.remove('alex.txt')
os.rename('alex.bak','alex.txt')

  

 

其他方法:

  1,seek  调整光标,seek(0)调整到开始,seek(0,2)调整到结尾。按字节移动

  2,readale  是否可读

  3,writable  是否可写

  4,with 主动关闭文件句柄

  5,os.remove  删除文件名

  6,os.rename  修改文件名

  7. truncate 截取

r+ a+ ..不能在w模式下使用,对原文件进行截取
f=open('ake','r+',encoding='utf-8')
f.truncate(9) #字节
f.close()

  

 

转载于:https://www.cnblogs.com/hanayo/p/9478153.html

架构——异地多活成熟的架构模式 摘要: 本文系统介绍了三种异地多活架构模式:业务定制型、业务通用型和存储通用型。业务定制型针对核心业务定制化设计,复杂度低但扩展性差;业务通用型通过统一配套服务(流量调度、配置中心等)实现多业务兼容,适合业务量大但一致性要求不高的场景;存储通用型依托分布式一致性数据库(如OceanBase、TiDB)天然支持强一致性,适合金融等高要求场景,但对部署距离和成本有较高限制。文章对比了各模式的优缺点及适用场景,为不同业务需求下的架构选型提供了实践指导。 阅读详情

相关推荐

防火墙学习5---虚拟系统和跟系统通过路由表互访

虚拟系统与跟系统互访可分为虚拟系统访问根系统和跟系统访问虚拟系统。

weixin_48030849的博客 1032

day8字符串编码 文件处理

01字符编码 启动软件的流程 打开notepad++查看test.txt文档 1.从硬盘将软件程序加载到内存中 2.加载test.txt到内存中 3.执行notepad的代码,将test.txt的内容输出到屏幕上   python也是一个应用软件 1.从硬盘将解释器加载到内存中 2.加载test.py到内存中 3.解释器解析python语法   文本编辑器与解释器在打开同一...

weixin_40782004的博客 176

金属粘结剂喷射3D打印技术:工艺流程与后处理关键

金属粘结剂喷射(Binder Jetting)是一种创新的增材制造技术,通过逐层喷射粘合剂将金属粉末粘结成型,再经过脱脂和烧结等后处理工序获得最终零件。这项技术的核心优势在于无需支撑结构、可实现批量生产,并且材料利用率高。在3D打印领域,金属BJ技术特别适合中小尺寸、结构复杂且表面质量要求高的零件生产。其工艺流程包括前期数据处理、打印生胚阶段、拆包与清粉,以及关键的渗透、脱脂和烧结后处理环节。后处理工艺的控制直接决定了零件的机械性能和尺寸精度,其中烧结工艺尤为关键,需要精确控制温度曲线和气氛环境。金属BJ打

weixin_35751194的博客 86

Day8_字符编码及文件处理

今日内容概要 作业讲解 字符编码 文件处理 python代码操作文件读写 今日内容详细 作业讲解 2.字典练习题 1.将列表中大于等于66的元素放入字典k1键对应的列表中 将列表中小于66的元素放入字典k2键对应的列表中 nums=[11,22,33,44,55,66,77,88,99,90] dic={ 'k1':[], 'k2':[] } 2.s='hello j

Cream_Bule的博客 664

同花顺Supermind量化交易 风险控制建模--海龟交易法则

A.市场与标的海龟交易法则应用于流动性高的市场中,选择交易量较大的标的进行交易。本文以沪深300指数ETF为标的,构建海龟交易法则。B、仓位:仓位是海龟交易系统最核心的部分,通过ATR真实波幅指标来管理仓位。第一步:计算True Range,简称TR。TR = Max ( H−L , H−P , P−L ) ,其中H为当日日内最高价,L为当日日内最低价,P为前一日收盘价。第二步:计算ATRATR = mean ( TR , 20 ) , 即计算过去20天的TR的平均值,ATR是TR的移动平均值。

qq_22808537的博客 1497

【ArcGIS遇上Python】批量提取多波段影像至单个波段

本案例基于ArcGIS python,将landsat影像的7个波段影像数据,批量提取至单个波段。

智慧空间实验室 2074

Day8-SpringBoot文件上传,异常处理与定制化

一个极易忽视的小知识点 <link href="css/style.css" rel="stylesheet"> 与 <link href="/css/style.css" rel="stylesheet"> 的区别 css/style.css 以当前路径为起点访问 /css/style.css 不受当前路径影响 为绝对路径 文件上传 页面表单 <header class="panel-heading">

欢迎来到风离的个人空间 279

UE4 Unlua源码解析8 - Lua与C++之间的参数转换的实现原理

Lua与C++之间的参数转换的实现原理

TurboQ珞珈 899

python处理多个excel数据_python 数据分析基础 day8-pandas读写多个excel文件

今天是读《python数据分析基础》的第8天,今天的读书笔记的内容为利用pandas读写多个excel文件,当中涉及到读写excel文件的多个工作表。大致原理如下:glob.glob()以及os.path.join()函数负责获取输入要读取的excel文件的具体路径。pandas的read_excel函数负责读取函数,通过当中的sheet_name参数控制读取excel工作表。当读取一个工作表时,...

weixin_39996101的博客 952

时间序列预测 | Python实现ARIMAX和VARMAX时间序列数据预测

时间序列预测 | Python实现ARIMAX和VARMAX时间序列数据预测 目录时间序列预测 | Python实现ARIMAX和VARMAX时间序列数据预测基本介绍ARIMAXVARVARMAVARMAXSESHWES参考资料 基本介绍 本文介绍ARIMAX、VAR、VARMA和VARMAX基本概念及其Python程序设计。 ARIMAX 具有外源回归量的自回归整合移动平均值(ARIMAX)是 ARIMA 模型的扩展,其还包括外生变量的建模。 外生变量也称为协变量,可以被认为是并行输入序列,其在与

前程算法屋的博客 6689

Hugging Face快速入门(重点讲解模型(Transformers)和数据集部分(Datasets))

1. Hugging Face是什么,提供了哪些内容 2. Hugging Face模型的使用(Transformer类库) 3. Hugging Face数据集的使用(Datasets类库)

iioSnail的博客 8万+

Python打卡Day8——Pandas数据读写及表格样式处理

CSV、EXCEl、HDF文件读写

weixin_69485468的博客 342

17.6 LangSmith 私有化部署实战指南:企业级AI应用的安全基石

LangSmith 私有化部署, 企业级AI开发平台, 数据隐私合规, 混合云架构, 模型监控与审计。

yonggeit的博客 3779

Vue学习Day8 .vue文件封装处理、vue的使用方案、webpack中的plugin、搭建本地服务器

1. el和template的区别 2. vue组件化开发引入 3. .vue文件封装处理 4. 安装vue-loader、vue-template-compiler 5. vue的使用方案 6. plugin 7. 搭建本地服务器

AIpoem的博客 381

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

阿Q的Linux运维学习之路(day8-3)-Linux文件管理-字符处理命令(cut、awk、wc)

cut cut命令用来显示行中的指定部分,删除文件中指定字段。cut经常用来显示文件的内容,类似于下的type命令。 语法格式:命令 选项 参数 常用选项: -d 指定分隔符 -f 数字,取第几列 –f3,6三列和6列 -c 按字符取(空格也算) 例:文件file5.txt里面有一行内容 Im Q, is QQ xxxxxx 要求过滤出file5.txt文件里 oldxu以及5524089...

qq_39095114的博客 303

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Python day09

Python day09 字符编码 python3里,默认用的是utf-8读取文件只会将unicode格式的二进制数字转成字符,其余编码格式均不转换,存为二进制数字,所以在python3中,永远无法查看Unicode格式的二进制,但是可以在python2中可以看到,python2中用的是ASCII码,若想用Unicode格式的编码,可以在字符串前面加u如[u’你好’]。而要是想要不乱码,要在文件第一行注明文件写入的字符编码。 文件处理 在Python中打开文件,得到文件句柄并赋值给一个变量是以下列方式进行的

weixin_50236464的博客 102

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Day8 Linux压缩/解压 文件操作与磁盘管理 获取命令帮助 crontab 命令执行顺序控制和管道 文本处理

Day8 Linux压缩/解压 文件操作与磁盘管理 获取命令帮助 crontab 命令执行顺序控制和管道 文本处理

m0_58159341的博客 584

Linux学习之认识awk

此文章为8月Day 8学习笔记,内容来源于极客时间。处理“比较规范”的文件,使用方法比较像脚本文件,把比较不规范的文件处理成比较规范的文件。处理过的内容进行格式的调整并输出。所有文件读取完成例程 END{}输入数据前例程 BEGIN{}

qq_42108074的博客 294

[MODIS数据处理#8]批量将ET栅格的时间分辨率从8-day转换为monthly的一种思路

文章目录一、问题描述二、处理步骤1、下载数据2、提取波段、镶嵌、重投影3、裁剪4、将栅格文件分组三、工具参数四、工具界面 系列文章目录:MODIS数据处理 一、问题描述 以EarthData提供的MOD16A2数据集(8-day,500m)为基础得到逐月的蒸散量(ET)栅格影像。在之前的文章中,我提供了一种简单的思路利用重镶嵌功能,将ET栅格的时间分辨率从8-day转换为monthly,详情可参考[MODIS数据处理#5]例二:将ET栅格的时间分辨率从8-day转换为monthly。本文在此基础上提供了一

Salierib的博客 1万+

day 09文件处理

第二模块 函数 & 模块 概述 主要包含两大部分: 函数,一个专门用于实现某个功能的代码块(可重用)。 内置函数 len,bin,oct,hex,sum 等 自定义函数 def send_email(): # 写了10行代码,实现了发送邮件 pass # 调用 sed_email() # 定义一个函数,功能代码块 def send_email(): # 假设写10了代码,实现了发邮件 pass goods = [ {"name": "电脑",

m0_49654228的博客 6206

文件处理day09

文件处理 什么是文件处理:修改存储的信息 什么是文件:操作系统提供的虚拟概念,存储信息(用二进制存储信息) 操作文件的流程 打开文件 文件路径——打开模式,w——》write print('D:\上海python12期视频\python12期视频\day 09\test.py') print('D:\上海python12期视频\python12期视频\day 09\\test.py'...

dibeng1923的博客 109

n8n表单上传多个文件循环处理&合并

n8n表单上传多个文件循环处理&合并

R_o_b_o_t_的博客 1850

Day 07 Day08 字符编码与文件处理

1.字符编码: 只针对文字 ***   1.字符编码表发展史: ASCII 码表 >>>> 各国自己语言的字符编码表>>>>万国码(unicode)   2: ASCII表:用8个比特位表示(1个字节)一个英文字符。   3:gbk: 用2个字节来表示一个中文字符,还是用一个bytes 表示一个英文字符   4:unicode:统一...

weixin_30411997的博客 129

Python学习day10-文件处理

Python学习day10-文件处理字符编码python2和3编码的区别python程序运行的大致流程文件的三种打开方式with管理文件操作上下文Tips: Python学习day10-文件处理 字符编码 我们都知道,计算机只认识0和1的二进制数字,所以简单来说,字符编码就是使二进制和软件所能识别的字符之间相互转化的一个过程。 从字符编码的发展历史来看,最早...

weixin_30270561的博客 102

day9字符编码回顾 文件处理回顾 以及文件处理其他操作

上节回顾 01什么是字符编码 人类的语言---翻译---二进制 翻译的过程就称之为字符编码   保存不上目的 能取出来才是目的 二进制---翻译---人类的语言 这个过程称之为解码   要想保存翻译的结果则保证采用相同的规范也就是字符编码   字符编码发展历史: ascll 一个字符占一个字节 GBK中文使用两个字节 英文使用一个字节 unicode支持任何国家的语言,...

weixin_40782004的博客 145

JavaScript日期处理不再难!Day.js带你飞!

表达数字日历日期并消除歧义的标准方法是国际标准化组织(ISO)日期格式。可以使用JavaScript日期方法,它以ISO格式返回新形成的日期,以确认此格式。我们首先了解了Day.js及其使用它格式化时间和日期的好处。Day.js简单地替代了Moment.js。虽然Moment.js不是必需的,但Day.js提供了所有日期格式化、解析、插件和本地化要求。因此,可以使用 dayjs.org 在官方Day.js网站上选择并查找更多信息。

粉丝们务必加入微信粉丝群 2367
上一篇: 爬取好友微信信息
下一篇: 2017.06.04【NOIP提高组】模拟赛B组:
badiu_30394251
博客等级 码龄11年 124粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值