python_wholeweek2

news/2024/9/8 8:59:47/文章来源:https://www.cnblogs.com/yyds703/p/18327133

目录
  • 编码方式
      • open函数的使用
      • open进行写入时
      • 有关于编码解码
      • 前面的open函数使用加了一个r
      • 绝对路径和相对路径的使用
      • open函数的几种mode
      • with open的使用(对比open函数而言
        • 补充知识点,之前用过replace但是给忘了
        • 附加对于python识别文本时的编码错误链接解释

编码方式

txt文件的编码方式已经是UTF-8了吗(2024年七月的wins10.22H系统中



open函数的使用

h = open(r'C:\Users\dell\Desktop\text1.txt',encoding = 'utf-8')#####  ,encoding = 'utf-8'

open进行写入时

h = open(r'C:\Users\dell\Desktop\text1.txt','w',encoding = 'utf-8')##utf8的编码方式去读写
# print(h.readline())       ###读一行
# print(h.readline())       ###读下一行了
# print(h.readline())
h.write('我是用python写入的')   ###全读出来
h.flush()     ###快速刷入硬盘(一般写那个大型文件后面还要写入的时候,就会写一个flush,避免后面的先写入
h.close()	###关闭文件	

有关于编码解码

print('文字'.encode('utf-8').decode('gbk'))
'''
由于中文一个字符在utf-8中占三个字节,而在gbk中占一个字节,所以'文字'二字占六个字节,以gbk解码时就会解成3个字
'''

前面的open函数使用加了一个r

###########补充open函数使用时加一个r的原因
print('1 23')
print('1\n2\t3')
print(r'\t1\n2')      ###增加r时转义字符失效,\n和\t等失效

绝对路径和相对路径的使用

# ####绝对路径和相对路径
# 其实使用相对路径只要在一个工程文件下,就可以只写文件名路径即可

open函数的几种mode

# ######## r是只读
# fr = open(r'text1.txt',mode='r',encoding='utf-8')
# r_data = fr.read()
# print(r_data)
# fr.close()# ######## w是重写
# fw = open(r'text1.txt',mode='w',encoding='utf-8')
# w_data = fw.write('我是用write重新写入的')
# print(w_data)
# fw.close()# ######## a是续写
# fa = open(r'text1.txt',mode='a',encoding='utf-8')
# a_data = fa.write('\n后来增加')
# fa.close()# ######## rb# 打开的bytes类型,二进制 # 010101010110010
# frb = open(r'text1.txt',mode='rb')
# frb_data = frb.read()
# print(frb_data)
# frb.close()# ######## rt # 打开的text文本类型
# frt = open(r'text1.txt',mode='rt',encoding='utf-8')
# frt_data = frt.read()
# print(frt_data)
# frt.close()

with open的使用(对比open函数而言

# ####################  同open函数的应用,with open,法一
# with open('text1.txt', 'r',encoding='utf-8') as fr:
#     data = fr.read()        ###因为不建议边读边改,所以这个open执行读的功能
#     print(data)
#     new_data = data.replace('我','这个这个')   ###先在py中进行更改
#     print(new_data)
# with open('text1.txt', 'w',encoding='utf-8') as fw:     ###改成text2之后就会再生成一个文件
#     fw.write(new_data)                                  ####在这里写入#####对应上面的方式还可以进行备份修改删除再重命名,法二
# with open('text1.txt', 'r',encoding='utf-8') as fr:
#     data = fr.read()        ###因为不建议边读边改,所以这个open执行读的功能
#     print(data)
#     new_data = data.replace('我','这个这个')   ###先在py中进行更改
#     print(new_data)
# with open('new_text.txt', 'w',encoding='utf-8') as fw:     ###py会建一个text2
#     fw.write(new_data)                                  ####在这里写入
#
# import os
# os.remove('text1.txt')
# os.rename('new_text.txt','text1.txt')# ######还可以将法二进行精简,精简的法二
# with open('text1.txt', 'r',encoding='utf-8') as fr, \
#     open('new_text.txt', 'w', encoding='utf-8') as fw:
#         data = fr.read()        ###因为不建议边读边改,所以这个open执行读的功能
#         print(data)
#         new_data = data.replace('我','这个这个')   ###先在py中进行更改
#         print(new_data)
#         fw.write(new_data)                                  ####在这里写入
#
# import os       ###引入os操作
# os.remove('text1.txt')
# os.rename('new_text.txt','text1.txt')


补充知识点,之前用过replace但是给忘了

# s = 'hello world'
# s.replace('l', 'I')
# print(s)        #########这里打印你会发现S并没有变化,因为字符串为不可变类型,替换的时候重新开辟了内存空间,需要重新赋变量
# ###在s.replace('l', 'I')前添加s1=,再打印s1就能得到新的了

附加对于python识别文本时的编码错误链接解释

一文搞懂Python文件读取报错UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte_gbk codec can't decode byte-CSDN博客

一文搞懂Python文件读取报错UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte | AI技术聚合 (aitechtogether.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/772662.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

并发容器

Java 的并发集合容器提供了在多线程环境中高效访问和操作的数据结构。这些容器通过内部的同步机制实现了线程安全,使得开发者无需显式同步代码就能在并发环境下安全使用,比如说:ConcurrentHashMap、阻塞队列和 CopyOnWrite 容器等。 java.util 包下提供了一些容器类(集合框…

win10运行交互题

这是题目给的 题目要求输入的编译命令g++ -O2 -o grader grader.cpp ramen.cpp 在\(DEV\)下是运行不了的 系统的\(CMD\)也是不行的 但我们可以用\(DEV\)中的\(system\)函数运行 int main() {system("g++ -O2 -o grader grader.cpp ramen.cpp"); return 0; }运行前在\…

15、flask-模型-models-表的操作-分页paginate()

paginate()的属性属性名 说明items 返回当前页的内容列表has_next 是否还有下一页has_prev 是否还有上一页next(error_out=False) 返回下一页的pagination对象prev(error_out=False) 返回上一页的Pagination对象page 当前页的页码pages 总页数per_page 每页显示的数量prev_num …

01-从WordCount程序理解Spark术语及术语间的关系

1. 应用程序(Application) 通过下面的代码设置应用程序名称,设置后再UI中可以看到相应的名称。 //1.设置Application的名称 val conf = new SparkConf() conf.setAppName("WordCount") conf.setMaster("local")2. Job Job由scala的执行算子生成,每个执…

leetcode-5

题目: 给你一个字符串 s,找到 s 中最长的 回文子串 示例 1:输入:s = "babad"  输出:"bab"  解释:"aba" 同样是符合题意的答案。 示例 2:输入:s = "cbbd"   输出:"bb" 提示: 1 <= s.length <= 1000…

Uniapp 之手写签名

一、效果图二、代码示例 qianming.jsexport const qianming = {data() {return {windowWidth: 0,pixelRatio: 0,context: null,points: [],oldPoints: [],qm_width: 280,qm_height: 120,qm_img: }},methods: {qm_start() {const systemInfo = uni.getSystemInfoSync()this.wind…

代码随想录day11 || 150 逆表达式求值 239 滑动窗口最大值 347 前k最高频元素

150 逆波兰表达式计算func evalRPN(tokens []string) int {// 自己想是真的想不出来,看了视频之后有了思路// 本质上逻辑就是遇到数字入栈,遇到运算符号 出栈两个元素然后计算再入栈,最终就是计算结果stack := Constructor()for _, val := range tokens{// 如果数字入栈if i…

计算机组成与体系结构-校验码

奇偶校验码 奇偶校验是一种简单有效的校验方法,这种方法通过在编码中增加一位校验位来使编码中1的个数为奇数(奇校验)或者为偶数(偶校验),只能发现奇数个数据位 出错的情况.循环冗余校验码 CRC(Cyclic RedundancyCheck)循环冗余校验是一种常用的错误检测技术,用于在数据传输…

CAD快捷键命令大全(最全)

勇者无惧,强者无敌。

电影《抓娃娃》迅雷/百度云下载[超清版BT种子][MP4/2.89GB]分享

电影《抓娃娃》是一部由闫非、彭大魔联合执导,沈腾、马丽领衔主演的喜剧电影。该片于2024年7月16日在中国大陆正式上映,以其独特的剧情设定和深刻的主题探讨,迅速吸引了广大观众的关注。影片不仅延续了“沈马组合”一贯的幽默风格,更在喜剧外壳下包裹了深刻的教育主题,让人…

PWM波形生成

背景 方法 定时器 (1)高级定时器timer1, timer8以及通用定时器timer9, timer10, timer11的时钟来源是APB2总线 (2)通用定时器timer2~timer5,通用定时器timer12~timer14以及基本定时器timer6,timer7的时钟来源是APB1总线 (3)当APB1和APB2分频数为1的时候,TIM1、TIM8~TIM…

ComfyUI插件:ComfyUI Impact 节点(一)

前言: 学习ComfyUI是一场持久战,而 ComfyUI Impact 是一个庞大的模块节点库,内置许多非常实用且强大的功能节点 ,例如检测器、细节强化器、预览桥、通配符、Hook、图片发送器、图片接收器等等。通过这些节点的组合运用,我们可以实现的工作有很多,例如自动人脸检测和优化修…