ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

用django+mysql+pycharm搭建网站(3)

2022-05-31 22:35:07  阅读:148  来源: 互联网

标签:文件 django split mysql 字符串 pycharm line txt data


网站后续--使用的相关知识技术内容(毕设背景)

该篇文章总结了毕设背景下系统网站使用的相关知识技术内容

一、字符串模糊匹配

字符串模糊匹配是大致(而不是精确地)查找与给定模糊匹配的字符串的过程,也被称为近似字符串匹配。

python中通过比较短文本相似性来实现字符串模糊匹配的方法有Levenshtein、difflib和fuzzywuzzy。

Levenshtein(第三方插件):需要输入为字符串,匹配时是整体匹配,数组匹配时需要用join把数组元素连接为字符串。

difflib(Python自带):不一定为字符串,数组也可以匹配,但数组匹配时只有单个元素完全匹配才计入相似。

fuzzywuzzy(第三方插件):Fuzzy(模糊)字符串匹配是作为一个简单易用的包使用Levenshtein Distance来计算中序列之间的差异。使用Levenshtein Distance计算两个字符串之间的接近程度,也称为编辑距离,其基本上是基于将一个字符串转换为另一个字符串的精确匹配所需要的基本操作的计数。

下面是上述三种方法的大致用法示例,更加多元的具体用法可继续查询学习。

# 运用代码
import Levenshtein
import difflib
from fuzzywuzzy import fuzz
s1 = "你们公司在哪里"
s2 = "你家的公司地址在哪里"
print(Levenshtein.distance(s1, s2)) # 0~∞
print(Levenshtein.ratio(s1, s2)) # 0~1
print(difflib.SequenceMatcher(None, s1, s2).ratio()) # 0~1
print(fuzz.ratio(s1, s2)) # 0~100

# 输出结果
4
0.7058823529411764
0.7058823529411765
71

 

二、分割函数split()

在python中split()函数作用为根据某个字符,对字符串进行分割,然后以列表形式进行输出。(split译为分裂) 1、split()默认分割:默认是根据空格字符对字符串进行分割。 2、split(’\n’)单分割:根据所写的单字符对字符串进行分割。 3、split(’ |!|?|.’, a)多分割:需要用到re模块,代码示例如下:

import re
ans_list = re.split(r'[,#\n]', str1)

4、split(’ ', 2):只分割前2个空格,生成1个列表。若字符串内有3个或更多空格,分割完成后若还存在空格,则不会进行分割,只会放在一个字符串里面。代码示例如下:

a = "E 239113 hello world"
c = a.split(" ", 2)
print(c)
# 输出结果:['E', '239113', 'hello world']

 

三、txt文件的常用读写操作

1、打开文件

# 文件的两种打开方式
# 方法一
f = open("data.txt","r")   #设置文件对象
f.close() #关闭文件

# 方法二:为了方便,避免忘记close掉这个文件对象,可以用下面这种方式替代
with open('data.txt',"r") as f:    #设置文件对象
   str = f.read()    #可以是随便对文件的操作
   

 

2、读取文件

python常用的读取文件函数有三种read()、readline()、readlines() 。

read() 为一次性读取文本中全部的内容,以字符串的形式返回结果。

readline() 为只读取文本第一行的内容,以字符串的形式返回结果。readline会读到换行符。

readlines() 为读取文本所有内容,并且以数列(list)的格式返回结果,一般配合”for in“使用。readlines也会读到换行符,为去掉列表中每一个元素的换行符可用 “line = line.strip('\n')“ 方法去除。

# read()函数
f = open("data.txt","r")
str = f.read() # 将txt文件的所有内容读入到字符串str中
f.close()

# readline()函数
f = open("data.txt","r")
line = f.readline()
line = line[:-1]
while line:             #直到读取完文件
   line = f.readline()  #读取一行文件,包括换行符
   line = line[:-1]     #去掉换行符,也可以不去
f.close()

# readlines()函数1
with open("data.txt", "r") as f:
   for line in f.readlines():   #readlines会读到换行符
       line = line.strip('\n')  #去掉列表中每一个元素的换行符
       print(line)
# readlines()函数2
f = open("data.txt","r")
data = f.readlines()  #直接将文件中按行读到list里,效果与方法2一样
f.close()
# 其它方法1
data = []
for line in open("data.txt","r"): # 设置文件对象并读取每一行文件
   data.append(line)               # 将每一行文件加入到list中

# 其它方法2--另将float数据(数组)文件内容读入到数组中的方法
import numpy as np
data = np.loadtxt("data.txt")   #将文件中数据加载到data数组里

 

3、写入文件

# 简单的将字符串写入txt中
with open('data.txt','w') as f:   # 设置文件对象
    f.write(str)                 # 将字符串写入文件中
       
# 将列表写入文件中
# 单层列表
data = ['a','b','c']
with open("data.txt","w") as f:
   f.writelines(data)
# 双层列表
# 第一种方法,每一项用空格隔开,一个列表是一行写入文件
data =[ ['a','b','c'],['a','b','c'],['a','b','c']]
with open("data.txt","w") as f:
   for i in data:                                                                 #对于双层列表中的数据
       i = str(i).strip('[').strip(']').replace(',','').replace('\'','')+'\n'  #将其中每一个列表规范化成字符串
       f.write(i)                                                                 #写入文件
# 第二种方法,直接将每一项都写入文件
data =[ ['a','b','c'],['a','b','c'],['a','b','c']]
with open("data.txt","w") as f:
   for i in data:                                                                 #对于双层列表中的数据
       f.writelines(i)                                                            #写入文件
       
# 将数组写入文件中
import numpy as np
# 第一种方法
np.savetxt("data.txt",data)     #将数组中数据写入到data.txt文件
# 第二种方法
np.save("data.txt",data)        #将数组中数据写入到data.txt文件

 

注意:引申学习其它文件形式的读写操作,如excel表格文件等。

 


PS:毕设期间参考学习资料:

1、FuzzyWuzzy:Python中的模糊字符串匹配,地址:FuzzyWuzzy:Python中的模糊字符串匹配 - 程序员大本营 (pianshen.com)

2、【Python】 字符串相似性度量,用difflib还是Levenshtein,地址:(5条消息) 【Python】 字符串相似性度量,用difflib还是Levenshtein兔子爱读书的博客-CSDN博客difflib原理

3、python--str.split()函数分割,地址:(5条消息) python--str.split()函数分割ZongXin.Zhou的博客-CSDN博客python str 分割

4、python:txt文件常用读写操作,地址:(5条消息) python:txt文件常用读写操作_那年聪聪的博客-CSDN博客

 

标签:文件,django,split,mysql,字符串,pycharm,line,txt,data
来源: https://www.cnblogs.com/xhmtblog/p/16332534.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有