以Python 3.x版本为主
本系列文章,主要以一个《商品标题实体识别》为方向,展开分析和实现
1、效果如下
2、知识点
编号
知识点
说明
1
NLP
自然语言处理
Natural Language Processing
2
预训练
先对部分数据进行结果测试,给后续正式和大数据参考方向
3
def
自定义函数
def 方法名+小括号()
4
try_catch_finally
可捕捉并对异常操作的写法
5
open
内置函数,读取文件方法
6
转移字符
由于需要输出一些特殊符号,但是系统对一些特殊符号又特别敏感,所以就又转移的概念
7
获取路径
导入os模块
import os
os.getcwd()
os.path.abspath()
2.1、open函数
1)基本读取方法
f = open('train.txt','r',encoding='utf-8')print(f.read())
# 【==========代码说明==========】
# train.txt 》 读取的文件,默认读取路径为当前就python文件所在文件夹
# r 》read,读取的意思
# encoding='utf-8'》以utf-8编码方式读取,如果不是这个编号,那么可能会出现乱码的情况
# f > 一个类对象,<class '_io.TextIOWrapper'>
# f.read() > 读取所有数据
3、转移字符表
Windows系统文件路径中的斜线符号为'\' python用反斜杠’\’转义字符
编号
描述
转移字符
1
转义字符
\
2
反斜杠符号
\\
3
单引号
\'
4
双引号
\"
5
响铃
运行输出一个响铃,windows操作系统的话,就会发出一个响铃的声音
\a
6
退格(Backspace)
\b
7
转义
\e
8
空
\000
9
换行
\n
10
纵向制表符
\v
11
横向制表符
\t
12
回车
\r
13
换页
\f
14
八进制数,yy代表的字符,例如:\o12代表换行
\oyy
15
十六进制数,yy代表的字符,例如:\x0a代表换行
\xyy
16
其它的字符以普通格式输出
\other
4、open()函数标识符表
编号
符号
描述
1
r
read,以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式
2
rb
以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式
3
r+
打开一个文件用于读写。文件指针将会放在文件的开头
4
rb+
以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头
5
w
打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件
6
wb
以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件
7
w+
打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件
8
wb+
以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件
9
a
append,打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入
10
ab
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入
11
a+
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写
12
ab+
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写
3.1、编码不对测试
1)设置非utf-8编码的txt
2)以utf-8编码方式读取文件,效果如下
# -*- coding: utf-8 -*-
# Apr 14, 2022 22:50 AM
import os
root_path=os.getcwd()
print('根目录:'+ root_path)
# 输出项目所在的根目录: C:\86_svn\tdsql\Python3
# entity.py 文件所在的目录:C:\86_svn\tdsql\Python3\project\data\code
train_file_name=r'\project\data\contest_data\train.txt'
def getTxtResult():
f=open(root_path+train_file_name,'r')
print("f类型:"+str(type(f))) # f对象为一个类,<class '_io.TextIOWrapper'>
return f.read()
print(getTxtResult())