当前位置: 首页 > news >正文

Python文件操作

文件的编码

文件编码

思考:计算机只能识别:0和1,那么我们丰富的文本文件是如何被计算机识别,并存储在硬盘中呢?

答案:使用编码技术(密码本)将内容翻译成0和1存入。

编码技术即:翻译的规则,记录了如何将内容翻译成二进制,以及如何将二进制翻译回可识别内容。

计算机中有许多可用编码:

        UTF-8

        GBK

        Big5

        等

不同的编码,将内容翻译成二进制也是不同的。

编码有许多,所以要使用正确的编码, 才能对文件进行正确的读写操作呢。

 如上,如果你给喜欢的女孩发送文件,使用编码A进行编码(内容转二进制)。

女孩使用编码B打开文件进行解码(二进制反转回内容)

自求多福吧。

查看文件编码

我们可以使用Windows系统自带的记事本,打开文件后,即可看出文件的编码是什么:

UTF-8是目前全球通用的编码格式

除非有特殊需求,否则,一律以UTF-8格式进行文件编码即可。

总结

  • 编码就是一种规则集合,记录了内容和二进制间进行相互转换的规则,编码有许多种,我们最常用的是UTF-8编码

  • 常见的编码方式

    • UTF-8:叫万国码-8bit是当前最流行的Unicode编码方式的字符集

    • GBK:GBK 向下与 GB 2312 编码兼容,主要用于中文扩展

  • 为什么需要使用编码:计算机只认识0和1,所以需要将内容翻译成0和1的形式才能保存在计算机中。

文件的读取

什么是文件

内存中存放的数据在计算机关机后就会消失。要长久保存数据,就要使用硬盘、光盘、U 盘等设备。为了便于数据的管理和检索,引入了“文件”的概念。

一篇文章、一段视频、一个可执行程序,都可以被保存为一个文件,并赋予一个文件名。操作系统以文件为单位管理磁盘中的数据。一般来说,文件可分为文本文件、视频文件、音频文件、图像文件、可执行文件等多种类别。

文件操作包含哪些内容呢?

在日常生活中,文件操作主要包括打开关闭等操作。

 

文件的操作步骤 

想想我们平常对文件的基本操作,大概可以分为三个步骤(简称文件操作三步走):

① 打开文件

② 读写文件

③ 关闭文件

注意事项:可以只打开和关闭文件,不进行任何读写

open()打开函数

在Python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件,语法如下

open(name,mode,encoding)

name:是要打开的目标文件名的字符串(可以包含文件所在的具体路径)。

mode:设置打开文件的模式(访问模式):只读、写入、追加等。

encoding:编码格式(推荐使用UTF-8)

示例代码:

f = open('python.txt','r',encoding='UTF-8')
# encoding的顺序不是第三位,所有不能用位置参数,用关键字参数直接指定

注意:此时的`f`是`open`函数的文件对象,对象是Python中一种特殊的数据类型,拥有属性和方法,可以使用对象.属性或对象.方法对其进行访问,后续面向对象课程会给大家进行详细的介绍。

示例:
# 使用open函数打开文件
# FileNotFoundError: [Errno 2] No such file or directory: 'python.txt'
# 读模式下文件必须已存在"""name: 是要打开目标文件名的字符串(可以包含文件的具体路径)mode:设置打开文件的模式(访问模式):只读、写入、追加等encoding:设置编码格式,顺序不是第三位,所以不能位置参数,需要使用关键字参数
"""f = open('python.txt', 'w', encoding='utf-8')
print(f)# 关闭文件
f.close()
总结: 
  • 文件的打开:文件对象 = open(文件路径,文件打开模式,encoding = 文件编码)

  • 文件的关闭:文件对象.close()

文件的路径 

示例:

# 绝对路径
# 定义文件路径
file_path = "E:\software\pyCharmdata\python_base\data_7\python.txt"
# 当路径中有特殊可以转义的字符时\就不会被作为文件路径分隔符,而作为转义字符,此时需要使用\\
file_path = "E:\\software\\pyCharmdata\\python_base\\data_2\\01-Literals.py"
# 可以使用/来避免\作为转义字符
file_path = "E:/software/pyCharmdata/python_base/data_2/01-Literals.py"# 相对路径
# ./ 表示当前目录路径,打开文件时默认就是当前目录路径
# ../ 表示上级目录路径
file_path = "./python.txt"
# 可以原始字符串作为路径
file_path = r"E:\software\pyCharmdata\python_base\data_2\01-Literals.py"# 文件的打开
f = open(file_path, "r", encoding="utf-8")
print(f.read())
# 关闭文件
f.close()
总结:
  • 相对路径: ./代表当前目录(默认) ../回到上一级

  • 绝对路径: 从根目录开始的就是绝对路径 window根目录就是C盘,D盘 linux根目录就是/

  • 注意: 文件路径中的分隔符,建议使用\\或者/,不要直接用\

mode常用的三种基础访问模式

模式

描述

r

以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

w

打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,原有内容会被删除

如果该文件不存在,创建新文件

a

打开一个文件用于追加。如果该文件已存在,新的内容将会被写入到已有内容之后

如果该文件不存在,创建新文件进行写入。

读操作相关方法

read()方法:

文件对象.read(num)

num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据。

readlines()方法:

readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素。

f = open('python.txt')
content = f.readlines()# ['hello world\n','abcdefg\n','aaa\n','bbb\n','ccc']
print(content)# 关闭文件
f.close()

readline()方法:一次读取一行内容

f = open('python.txt')content = f.readline()
print(f'第一行:{content}')content = f.readline()
print(f'第二行:{content}')# 关闭文件
f.close()

for循环读取文件行

for line in open("python.txt","r"):print(line)# 每一个line临时变量,就记录了文件的一行数据

close() 关闭文件对象

f = open("python.txt","r")f.close()# 最后通过close,关闭文件对象,也就是关闭对文件的占用
# 如果不调用close,同时程序没有停止运行,那么这个文件将一直被Python程序占用。

with open 语法

with open("python.txt","r") as f:f.readlines()# 通过在with open的语句块对文件进行操作
# 可以在操作完成后自动关闭close文件,避免遗忘掉close方法
示例
  •  read()方式读取文件内容

# # 以r的方式打开文件,一般用于读取文本文件
# # 1-打开文件
# f = open('python.txt', mode='r', encoding='utf-8')
# # 2-操作文件
# # 使用read(n)读取文件内容,如果传递n,固定读取n个字节,如果不传n默认读取全部内容
# data = f.read()
#
# print(data)
#
# # 3-关闭文件
# f.close()# # 用rb的模式打开文件,一般用于读取二进制文件如(音频、视频、图片)
# # 1-打开文件
# # ValueError: binary mode doesn't take an encoding argument
# # rb模式下不能有encoding参数
# f = open('18-PyCharm安装使用.mp4', mode='rb')
# # 2-操作文件
# print(f.read())
# # 3-关闭文件
# f.close()
  • 按行读取文件内容

# # 以r的模式打开文件,按行读取
# # 方式一:一次读取一行
# # 1-打开文件
# f = open('python.txt', 'r', encoding='utf-8')
# # 2-读取文件
# data = f.readline()
# print(data)
# print(f.readline())
# print(f.readline())
# # 关闭文件
# f.close()# # 方式二:一次读取所有行,并返回列表
# # 打开文件
# f = open('python.txt', 'r', encoding='utf-8')
# # 2-读取文件
# data = f.readlines()
# print(data)
# # 关闭文件
# f.close()
  • with open()语法打开文件

# 使用with open()语法读取文件内容
with open('python.txt', 'r', encoding='utf-8') as f:for line in f:print(line)# f.close() 省略
总结:
  • read(n):n表示要从文件中读取的数据的长度(单位是字节),如果没有传入n默认文件的全部内容

  • readlines():可以按照行的文件把整个文件内容一次性读取,并返回一个列表,其中每一行的数据作为列表中的一个元素

  • readline():一次读取一行内容,每次调用指针会自动向后移动

  • with open语法:可以操作完成后自动关闭文件调用close()方法

操作汇总

操作

功能

文件对象 = open(file, mode, encoding)

打开文件获得文件对象

文件对象.read(num)

读取指定长度字节

不指定num读取文件全部

文件对象.readline()

读取一行

文件对象.readlines()

读取全部行,得到列表

for line in 文件对象

for循环文件行,一次循环得到一行数据

文件对象.close()

关闭文件对象

with open() as f

通过with open语法打开文件,可以自动关闭

总结

1. 操作文件需要通过open函数打开文件得到文件对象

2. 文件对象有如下读取方法:

read()

readline()

readlines()

for line in 文件对象

3. 文件读取完成后,要使用文件对象.close()方法关闭文件对象,否则文件会被一直占用

文件的定义:文件可分为文本文件、视频文件、音频文件、图像文件、可执行文件等多种类别

操作的步骤:

  • 1-打开文件

  • 2-读写文件

  • 3-关闭文件

文件的写入

写操作快速入门

案例演示:

# 1.打开文件
f = open('python.txt','w')# 2.文件写入
f.write('hello world')\# 3.内容刷新
f.flush()

注意:

直接调用write,内容并未真正写入文件,而是会积攒在程序的内存中,称之为缓冲区

当调用flush的时候,内容会真正写入文件

这样做是避免频繁的操作硬盘,导致效率下降(攒一堆,一次性写磁盘)

写操作注意

文件如果不存在,使用”w”模式,会创建新文件

文件如果存在,使用”w”模式,会将原有内容清空

示例

  • write()一个个写入

# 以w的模式打开文件,写入内容,一般用于文本数据写入文件
# 1-打开文件
f = open('test.txt', 'w', encoding='utf-8')
# 2-操作文件
# 使用write()函数写数据到文件,并返回写入文件的字节数量
data = f.write('Hello, world!')
print(data)
# 批量写入
f.flush()
# 3-关闭文件
f.close()# 以wb模式打开文件,写入内容,一般用于二进制数据写入文件
# 打开文件
f = open('word.txt', mode='wb')
# 操作文件
data = "犹豫就会败北\n果断就会白给".encode('utf8')
print(data)
f.write(data)
# 关闭文件
f.close()
  • writelines()一行行写入

# writelines()按行输入
# 打开文件
f = open('word.txt', mode='w', encoding='utf8')
# 操作文件
f.writelines(['open:打开\n', 'close:关闭\n', 'read:读取\n', 'write:写入\n', 'append:追加\n', 'byte:字节\n', 'binary:二进制\n'])
# 关闭文件
f.close()
  • 文件追加写入

# 打开文件
f = open('word.txt', mode='a', encoding='utf8')
# 操作文件
f.write("hello world\n")
# 关闭文件
f.close()

总结:

  • 写入方法

    • f.write():一个个写

    • f.writelines():一行行写

  • f.flush()

    • 直接调用write()时,内容并没有真正写入文件,而是会暂存在内存中,称之缓冲区buffer

    • 当调用flush时,内容会真正地批量写入磁盘文件

    • 这样做是为了避免频繁操作磁盘

  • 使用w模式,文件如果不存在,会创建新文件,文件如果存在,会将原有内容清空再写入

  • 使用a模式,文件不存在会创建新,文件如果存在,不会清空内容会追加写入文件

  • close()方法,带有flush()方法的功能

文件的追加

追加写入操作快速入门

案例演示:

# 1.打开文件,通过a模式打开即可
f = open('python.txt','a')# 2.文件写入
f.write('hello world')# 3.内容刷新
f.flush()

注意: a模式,文件不存在会创建文件 a模式,文件存在会在最后,追加写入文件

文件的备份

有一份账单文件,记录了消费收入的具体记录,内容如下:

数据:

name,date,money,type,remarks
周杰轮,2022-01-01,100000,消费,正式
周杰轮,2022-01-02,300000,收入,正式
周杰轮,2022-01-03,100000,消费,测试
林俊节,2022-01-01,300000,收入,正式
林俊节,2022-01-02,100000,消费,测试
林俊节,2022-01-03,100000,消费,正式
林俊节,2022-01-04,100000,消费,测试
林俊节,2022-01-05,500000,收入,正式
张学油,2022-01-01,100000,消费,正式
张学油,2022-01-02,500000,收入,正式
张学油,2022-01-03,900000,收入,测试
王力鸿,2022-01-01,500000,消费,正式
王力鸿,2022-01-02,300000,消费,测试
王力鸿,2022-01-03,950000,收入,正式
刘德滑,2022-01-01,300000,消费,测试
刘德滑,2022-01-02,100000,消费,正式
刘德滑,2022-01-03,300000,消费,正式

可以将内容复制并保存为 bill.txt文件

需求:

我们现在要做的就是:

        读取文件

        将文件写出到bill.txt.bak文件作为备份

        同时,将文件内标记为测试的数据行丢弃

实现思路:

        open和r模式打开一个文件对象,并读取文件

        open和w模式打开另一个文件对象,用于文件写出

        for循环内容,判断是否是测试不是测试就write写出,是测试就continue跳过

        将2个文件对象均close()

示例:

# 打开文件用于读取
f_read = open('E:\\software\\pyCharmdata\\python_base\\data_7\\bill.txt', mode='r', encoding='utf8')
# 打开文件用于写入
f_write = open('E:\software\\pyCharmdata\\python_base\\data_7\\bill.txt.bak', mode='w', encoding='utf8')
# 操作文件
data = f_read.readlines()
# 定义新的列表用于保存丢弃包含测试数据行之后的列表
new_data = []
# 通过判断是否包含'测试',将不包含的数据行写入到新的列表
for line in data:if line.find('测试') == -1:new_data.append(line)
print(new_data)
f_write.writelines(new_data)# 关闭文件
f_read.close()
f_write.close()

 文件综合案例

 数据:

name,date,money,type,remarks
周杰轮,2022-01-01,100000,消费,正式
周杰轮,2022-01-02,300000,收入,正式
周杰轮,2022-01-03,100000,消费,测试
林俊节,2022-01-01,300000,收入,正式
林俊节,2022-01-02,100000,消费,测试
林俊节,2022-01-03,100000,消费,正式
林俊节,2022-01-04,100000,消费,测试
林俊节,2022-01-05,500000,收入,正式
张学油,2022-01-01,100000,消费,正式
张学油,2022-01-02,500000,收入,正式
张学油,2022-01-03,900000,收入,测试
王力鸿,2022-01-01,500000,消费,正式
王力鸿,2022-01-02,300000,消费,测试
王力鸿,2022-01-03,950000,收入,正式
刘德滑,2022-01-01,300000,消费,测试
刘德滑,2022-01-02,100000,消费,正式
刘德滑,2022-01-03,300000,消费,正式

可以将内容复制并保存为 bill.txt文件

需求:

统计每个人的消费总金额,并将结果写入到文件

示例:

# 打开文件用于读取
f_read = open('bill.txt', mode='r', encoding='utf-8')# 统计每个人的消费总金额,并将结果写入到文件
# 定义字典用于保存每个人的消费总金额
content_dict = {"周杰轮": 0,"林俊节": 0,"张学油": 0,"王力鸿": 0,"刘德滑": 0
}
# 操作文件处理数据
lines = f_read.readlines()
# 遍历列表,按行处理数据
for line in lines:if line.find('消费') != -1:consume_list = line.split(',')# consume_list[0]就是当前行的人名# consume_list[2]就是当前行的消费金额content_dict[consume_list[0]] += int(consume_list[2])# content_dict[consume_list[0]] = int(consume_list[3]) + content_dict[consume_list[0]]print(consume_list)
print(content_dict)
# 将计算结果写入到结果文件中
# 打开文件用于写入
f_write = open('bill.txt.bak', mode='w', encoding='utf8')
# 操作文件
f_write.write(content_dict.__str__())# 关闭文件
f_write.close()
f_read.close()

相关文章:

Python文件操作

文件的编码 文件编码 思考:计算机只能识别:0和1,那么我们丰富的文本文件是如何被计算机识别,并存储在硬盘中呢? 答案:使用编码技术(密码本)将内容翻译成0和1存入。 编码技术即&am…...

【渗透测试术语总结】

Top 渗透测试常用专业术语 相信大家和我一样,搞不清这些专业名词的区别,所以我来整理一下。 1. POC、EXP、Payload与Shellcode POC:全称 Proof of Concept ,中文 概念验证 ,常指一段漏洞证明的代码。 EXP&#xf…...

利用ArcGIS快速准确地统计出地块的现状容积率

研究目的 根据建筑.dwg、建筑.dwg Annotation、建筑.dwg Polygon,地籍边界.shp等数据,利用GIS快速准确地统计出地块的现状容积率。 研究思路 加载数据图层:建筑.dwg Polygon、建筑.dwg Annotation,使用空间连接功能把建筑层数数…...

Linux:守护进程

一、套路 直接来&#xff0c;不铺垫了&#xff1b; #include<iostream> #include<string> #include<cstdlib> #include<unistd.h> #include<unistd.h> #include<sys/types.h> #include<sys/stat.h> #include<funtl.h> const …...

《Spring Framework实战》3:概览

欢迎观看《Spring Framework实战》视频教程 Spring Framework 为基于现代 Java 的企业应用程序提供了全面的编程和配置模型 - 在任何类型的部署平台上。 Spring 的一个关键要素是应用程序级别的基础设施支持&#xff1a;Spring 专注于企业应用程序的 “管道”&#xff0c;以便…...

【云商城】高性能门户网构建

第3章 高性能门户网构建 网站门户就是首页 1.OpenResty 百万并发站点架构 ​ 1).OpenResty 特性介绍 ​ 2).搭建OpenResty ​ 3).Web站点动静分离方案剖析 2.Lua语法学习 ​ 1).Lua基本语法 3.多级缓存架构实战 ​ 1).多级缓存架构分析 用户请求网站&#xff0c;最开始…...

IvorySQL 升级指南:从 3.x 到 4.0 的平滑过渡

日前&#xff0c;IvorySQL 4.0 重磅发布&#xff0c;全面支持 PostgreSQL 17&#xff0c;并且增强了对 Oracle 的兼容性。关于 IvorySQL 4.0 的介绍&#xff0c;各位小伙伴可以通过这篇文章回顾&#xff1a;IvorySQL 4.0 发布&#xff1a;全面支持 PostgreSQL 17. 在 IvorySQL…...

GESP202312 四级【小杨的字典】题解(AC)

》》》点我查看「视频」详解》》》 [GESP202312 四级] 小杨的字典 题目描述 在遥远的星球&#xff0c;有两个国家 A 国和 B 国&#xff0c;他们使用着不同的语言&#xff1a;A 语言和 B 语言。小杨是 B 国的翻译官&#xff0c;他的工作是将 A 语言的文章翻译成 B 语言的文章…...

数据库_解决SQL Server数据库log日志过大,清理日志文件方法

SQL Server数据库日志文件过大的原因主要有几个方面&#xff1a; 事务日志记录了所有对数据库进行修改的操作&#xff0c;如插入、更新和删除&#xff0c;这些操作会不断增加日志文件的大小。 长时间运行且未正确结束的事务会持续占用事务日志中的空间&#xff0c;导致日志文…...

Java 的单例模式详解及优化

&#x1f496; 欢迎来到我的博客&#xff01; 非常高兴能在这里与您相遇。在这里&#xff0c;您不仅能获得有趣的技术分享&#xff0c;还能感受到轻松愉快的氛围。无论您是编程新手&#xff0c;还是资深开发者&#xff0c;都能在这里找到属于您的知识宝藏&#xff0c;学习和成长…...

关于 webservice 日志中 源IP是node IP的问题,是否能解决换成 真实的客户端IP呢

本篇目录 1. 问题背景2. 部署gitlab 17.52.1 添加repo源2.2 添加repo源 下载17.5.0的charts包2.3 修改values文件2.3.1 hosts修改如下2.3.2 appConfig修改如下2.3.3 gitlab下的sidekiq配置2.3.4 certmanager修改如下2.3.5 nginx-ingress修改如下2.3.6 <可选> prometheus修…...

[python3]xlrd不支持Excel xlsx文件类型

https://xlrd.readthedocs.io/en/latest/ xlrd is a library for reading data and formatting information from Excel files in the historical .xls format. 解决办法&#xff1a;指定支持的版本1.2.0&#xff0c;pip3 install xlrd1.20 pip3 install xlrd1.2.0 Looking …...

React中createRoot函数原理解读——Element对象与Fiber对象、FiberRootNode与HostRootNode

【2024最新版】React18 核心源码分析教程&#xff08;全61集&#xff09; Element对象与Fiber对象 在 React 中&#xff0c;Element 对象 和 Fiber 对象 是核心概念&#xff0c;用于实现 React 的高效渲染和更新机制。以下是它们的详细解读&#xff1a; 1. Element 对象 定…...

【网络协议】动态路由协议

前言 本文将概述动态路由协议&#xff0c;定义其概念&#xff0c;并了解其与静态路由的区别。同时将讨论动态路由协议相较于静态路由的优势&#xff0c;学习动态路由协议的不同类别以及无类别&#xff08;classless&#xff09;和有类别&#xff08;classful&#xff09;的特性…...

DevOps:CI、CD、CB、CT、CD

目录 一、软件开发流程演化快速回顾 &#xff08;一&#xff09;瀑布模型 &#xff08;二&#xff09;原型模型 &#xff08;三&#xff09;螺旋模型 &#xff08;四&#xff09;增量模型 &#xff08;五&#xff09;敏捷开发 &#xff08;六&#xff09;DevOps 二、走…...

网络安全 | WAF防护开通流程与技术原理详解

关注&#xff1a;CodingTechWork 引言 随着互联网安全形势的日益严峻&#xff0c;Web应用防火墙&#xff08;WAF, Web Application Firewall&#xff09;逐渐成为网站和应用的标准防护措施。WAF能够有效识别和防止如SQL注入、跨站脚本攻击&#xff08;XSS&#xff09;、恶意流…...

【我的 PWN 学习手札】IO_FILE 之 FSOP

FSOP&#xff1a;File Stream Oriented Programming 通过劫持 _IO_list_all 指向伪造的 _IO_FILE_plus&#xff0c;进而调用fake IO_FILE 结构体对象中被伪造的vtable指向的恶意函数。 目录 前言 一、glibc-exit函数浅析 二、FSOP 三、Largebin attack FSOP &#xff08;…...

Spring——自动装配

假设一个场景&#xff1a; 一个人&#xff08;Person&#xff09;有一条狗&#xff08;Dog&#xff09;和一只猫(Cat)&#xff0c;狗和猫都会叫&#xff0c;狗叫是“汪汪”&#xff0c;猫叫是“喵喵”&#xff0c;同时人还有一个自己的名字。 将上述场景 抽象出三个实体类&…...

C语言——文件IO 【文件IO和标准IO区别,操作文件IO】open,write,read,dup2,access,stat

1.思维导图 2.练习 1&#xff1a;使用C语言编写一个简易的界面&#xff0c;界面如下 1&#xff1a;标准输出流 2&#xff1a;标准错误流 3&#xff1a;文件流 要求&#xff1a;按1的时候&#xff0c;通过printf输出数据&#xff0c;按2的时候&#xff0c;通过p…...

人工智能知识分享第九天-机器学习_集成学习

集成学习 概念 集成学习是机器学习中的一种思想&#xff0c;它通过多个模型的组合形成一个精度更高的模型&#xff0c;参与组合的模型称为弱学习器&#xff08;基学习器&#xff09;。训练时&#xff0c;使用训练集依次训练出这些弱学习器&#xff0c;对未知的样本进行预测时…...

腾讯云AI代码助手编程挑战赛-武器大师

作品简介 对话过程能够介绍二战 各种武器 冷战 武器 现代的 各种武器装备&#xff0c;陆海空三军都知道。 技术架构 使用全后端分离的架构&#xff0c;前端使用Vue脚手架&#xff0c;腾讯云修改样式css 开发环境、开发流程 系统&#xff1a;win11 开发工具&#xff1a;VS…...

Python机器学习笔记(十八、交互特征与多项式特征)

添加原始数据的交互特征&#xff08;interaction feature&#xff09;和多项式特征&#xff08;polynomial feature&#xff09;可以丰富特征表示&#xff0c;特别是对于线性模型。这种特征工程可以用统计建模和许多实际的机器学习应用中。 上一次学习&#xff1a;线性模型对w…...

java_深入理解main方法

深入理解main方法 在 main()方法中&#xff0c;我们可以直接调用 main 方法所在类的静态方法或静态属性。但是&#xff0c;不能直接访问该类中的非静态成员&#xff0c;必须创建该类的一个实例对象后&#xff0c;才能通过这个对象去访问类中的非静态成员&#xff0c;[举例说明]…...

NLP中常见的分词算法(BPE、WordPiece、Unigram、SentencePiece)

文章目录 一、基本概念二、传统分词方法2.1 古典分词方法2.2 拆分为单个字符 三、基于子词的分词方法&#xff08;Subword Tokenization&#xff09;3.1 主要思想3.2 主流的 Subword 算法3.3 Subword 与 传统分词方法的比较 四、Byte Pair Encoding (BPE)4.1 主要思想4.2 算法过…...

HTTP/HTTPS ②-Cookie || Session || HTTP报头

这里是Themberfue 上篇文章介绍了HTTP报头的首行信息 本篇我们将更进一步讲解HTTP报头键值对的含义~~~ ❤️❤️❤️❤️ 报头Header ✨再上一篇的学习中&#xff0c;我们了解了HTTP的报头主要是通过键值对的结构存储和表达信息的&#xff1b;我们已经了解了首行的HTTP方法和UR…...

前端 动图方案

1、vue3lottie 解析使用Bodymovin导出为json格式的Adobe After Effects动画 vue3lottie的使用神器&#xff1a;vue3-lottie (electron也适用)-CSDN博客 2、MP4文件 //template部分 <video class"header-bg" src"../../assets/images/screen/layout/heade…...

C#语言的字符串处理

C#语言的字符串处理 引言 在现代编程中&#xff0c;字符串处理是一项重要的技能&#xff0c;几乎在所有编程语言中都有应用。C#语言作为一种强类型的、面向对象的编程语言&#xff0c;提供了丰富的字符串处理功能。这使得开发人员能够方便地进行文本操作&#xff0c;比如字符…...

【shell编程】报错信息:bash: bad file descriptor(包含6种解决方法)

大家好&#xff0c;我是摇光~ 在运行 Shell 脚本时&#xff0c;遇到 bash: bad file descriptor 错误通常意味着脚本尝试对一个无效或不可用的文件描述符&#xff08;file descriptor&#xff09;执行了读写操作。 以下是一些可能导致这个问题的原因、详细案例以及相应的解决…...

vscode 配置c/c++环境 中文乱码

D:\MIscrobingDownload\mingw64\binmingw配置到环境变量中 测试一下&#xff0c;按winr输入cmd打开终端 gcc -v g -v安装插件 一 二 run code 因为run code 插件配置实质上是用它提供的指令进行编译执行&#xff0c;因此无法直接使用断点调试功能&#xff0c;需要对配置进行…...

leetcode 面试经典 150 题:两数之和

链接两数之和题序号1题型数组解题方法1. 哈希表&#xff0c;2. 暴力法难度简单熟练度✅✅✅✅✅ 题目 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输…...

【Unity报错】error Cs0103: The name ‘keyCode‘ does not exist in the current context

报错提示&#xff1a; 解决方法&#xff1a; KeyCode K大写...

家用万兆网络实践:紧凑型家用服务器静音化改造(二)

大家好&#xff0c;这篇文章我们继续分享家里网络设备的万兆升级和静音改造经验&#xff0c;希望对有类似需求的朋友有所帮助。 写在前面 在上一篇《家用网络升级实践&#xff1a;低成本实现局部万兆&#xff08;一&#xff09;》中&#xff0c;我们留下了一些待解决的问题。…...

“AI智能实训系统:让学习更高效、更轻松!

大家好&#xff0c;作为一名资深产品经理&#xff0c;今天我来跟大家聊聊一款备受瞩目的产品——AI智能实训系统。在这个人工智能技术飞速发展的时代&#xff0c;AI智能实训系统应运而生&#xff0c;为广大学习者提供了全新的学习体验。那么&#xff0c;这款产品究竟有哪些亮点…...

【Linux 之一 】Linux常用命令汇总

Linux常用命令 ./catcd 命令chmodclearcphistoryhtoplnmkdirmvpwdrmtailunamewcwhoami 我从2021年4月份开始才开始真正意义上接触Linux&#xff0c;最初学习时是一脸蒙圈&#xff0c;啥也不会&#xff0c;啥也不懂&#xff0c;做了很多乱七八糟&#xff0c;没有条理的笔记。不知…...

Git 从入门到精通

一、环境配置 下载地址&#xff1a;https://git-scm.com/downloads/ 二、用户配置 找到git bash git --version 查看当前版本 git config --global user.name szhipeng625 设置用户名 git config --global user.email szhipeng625gmail.com 设置邮箱 git config --global …...

【Uniapp-Vue3】创建自定义页面模板

大多数情况下我们都使用的是默认模板&#xff0c;但是默认模板是Vue2格式的&#xff0c;如果我们想要定义一个Vue3模板的页面就需要自定义。 一、我们先复制下面的模板代码&#xff08;可根据自身需要进行修改&#xff09;&#xff1a; <template><view class"…...

Ansible之批量管理服务器

文章目录 背景第一步、安装第二步、配置免密登录2.1 生成密钥2.2 分发公钥2.3 测试无密连接 背景 Ansible是Python强大的服务器批量管理 第一步、安装 首先要拉取epel数据源&#xff0c;执行以下命令 yum -y install epel-release安装完毕如下所示。 使用 yum 命令安装 an…...

android compose 串口通信

1.添加依赖 implementation("io.github.xmaihh:serialport:2.1.1") 2.添加SerialHelper派生类 class SerialPortHelper(portName:String,baudRate:Int): SerialHelper(portName,baudRate) {var receivedDataBuffer mutableListOf<Byte>()override fun onDa…...

ios脚本巨魔商店多巴胺越狱基本操作教程

准备工作 确认设备兼容性&#xff1a;A9-A11&#xff08;iPhone6s&#xff0d;X&#xff09;&#xff1a;iOS15.0-16.6.1&#xff1b;A12-A14&#xff08;iPhoneXR&#xff0d;12PM&#xff09;&#xff1a;iOS15.0-16.5.1&#xff1b;A15-A16&#xff08;iPhone13&#xff0d…...

NLP项目实战——基于Bert模型的多情感评论分类(附数据集和源码)

在当今数字化的时代&#xff0c;分析用户评论中的情感倾向对于了解产品、服务的口碑等方面有着重要意义。而基于强大的预训练语言模型如 Bert 来进行评论情感分析&#xff0c;能够取得较好的效果。 在本次项目中&#xff0c;我们将展示如何利用 Python 语言结合transformers库&…...

.NET framework、Core和Standard都是什么?

对于这些概念一直没有深入去理解&#xff0c;以至于经过.net这几年的发展进化&#xff0c;概念越来越多&#xff0c;越来越梳理不容易理解了。内心深处存在思想上的懒惰&#xff0c;以为自己专注于Unity开发就好&#xff0c;这些并不属于核心范畴&#xff0c;所以对这些概念总是…...

Mybatis原理简介

看到Mybatis的框架图&#xff0c;可以清晰的看到Mybatis的整体核心对象&#xff0c;我更喜欢用自己的图来表达Mybatis的整个的执行流程。如下图所示&#xff1a; 原理详解&#xff1a; MyBatis应用程序根据XML配置文件创建SqlSessionFactory&#xff0c;SqlSessionFactory在根…...

腾讯云AI代码助手-公司职位分析AI助手

作品简介 腾讯云AI代码助手是一款智能工具&#xff0c;专注于为公司提供职位分析服务。通过自然语言处理和机器学习技术&#xff0c;它能快速解析职位描述&#xff0c;提取关键信息&#xff0c;并提供数据驱动的洞察&#xff0c;帮助公司优化招聘流程和职位设计。 技术架构 …...

腾讯云AI代码助手编程挑战赛-解忧助手

作品简介 何以解忧,唯有杜康。而随着Ai的发展,解忧不再只有杜康还有Ai,使用的是腾讯云AI代码助手来生成的所有代码&#xff0c;使用方便&#xff0c;快捷&#xff0c;高效。 技术架构 采用了全后端分离的架构&#xff0c;前端使用Vue.js&#xff0c;腾讯云的AI服务处理自然语…...

Sentinel服务保护 + Seata分布式事务

服务保护 【雪崩问题】微服务调用链路中某个服务&#xff0c;引起整个链路中所有微服务都不可用。 【原因】&#xff1a; 微服务相互调用&#xff0c;服务提供者出现故障。服务调用这没有做好异常处理&#xff0c;导致自身故障。调用链中所有服务级联失败&#xff0c;导致整个…...

【Leetcode·中等·数组】59. 螺旋矩阵 II(spiral matrix ii)

题目描述 英文版描述 Given a positive integer n, generate an n x n matrix filled with elements from 1 to n(2) in spiral order. Example 1: Input: n 3 Output: [[1,2,3],[8,9,4],[7,6,5]] 提示&#xff1a; 1 < n < 20 英文版地址 https://leetcode.com…...

WebSocket 扩展生态:协议与框架

在前七篇文章中,我们深入探讨了 WebSocket 的基础原理、开发实践和实战案例。今天,让我们把视野扩展到 WebSocket 的生态系统,看看有哪些扩展协议和框架可以帮助我们更好地开发 WebSocket 应用。我曾在一个大型即时通讯项目中,通过合理使用这些工具,将开发效率提升了 50%。 扩…...

MySQL —— 在CentOS9下安装MySQL

MySQL —— 在CentOS9下安装MySQL 1.查看自己操作系统的版本2.找到对应的安装源3.上传我们在windows下&#xff0c;下载的文件&#xff0c;解压4.执行rpm命令&#xff0c;启用MySQL8仓库5.执行dnf install -y mysql-community-server6.设置开机自启动7.获得初始密码8.登录MySQL…...

用VS C#构建Windows服务【纯操作版,附带项目地址】

1.点击“创建新项目”,选择“Windows 服务(.NET Framework)” 2、给项目命名 3、双击“Service1.cs”,右键,选择“添加安装程序”,就会生成一个“ProjectInstaller.cs”文件 4、双击“ProjectInstaller.cs”文件,右键“serviceProcessInstaller1”,选择“属性…...

1.UGUI相关

1.这一种UIcanvas下的组件,会显示在3d物体之前 2.可以设置3d物体在UI界面之前。选中第二个模式。这时候会指定一个摄像机。一般情况下&#xff0c;不用主摄像机。需要新建一个专门给UI的摄像机。相当于设置距离摄像机的远近。两个layer 可以理解成 章节&#xff0c;关卡。相同…...