我是靠谱客的博主 健康哈密瓜,最近开发中收集的这篇文章主要介绍python处理文本文件 提取英文单词看成一个整体_python第四题 读取txt提取所有单词出现频次...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

果然!还是没法绕开正则表达式啊!!!!!!这下接着学习了!!!!!

题目 :任一个英文的纯文本文件,统计其中的单词出现的个数。

代码是我从别的博客上借鉴的,了解到需要用到的知识点有: 文件读写、splitlines()的用法、 re.sub()的用法、原生字符串r''的用法、重新复习字典的用法等等

下边一个个的分析:

1.文件读写:

import sys

# file=open('G:python文件poem.txt','r')

# print(file.read())

#下边是另外一种写法

#read(size)方法,每次最多读取size个字节的内容

#调用readline()可以每次读取一行内容,调用readlines()一次读取所有内容并按行返回list

# with open('G:python文件poem.txt')as f:

# print(f.read(10))

# file=open('G:python文件poem.txt','r')

# for line in file.readlines():

# print(line)

#前边说的是二进制字符 如果是文字呢? 后边加‘rb’

# file=open('G:python文件image.png','rb')

# print(file.read())

#写文件也是一样 就是把'r'换成'w'

2.splitlines()方法

返回一个列表,将每一行都写在列表的一个元素里,可以设置‘n’是否可见

import sys

with open("G:python文件poem.txt") as f:

print(f.read().splitlines())

Programming is fun.

When the "work" is done-

load

if you wanna make your work also fun:

use Python python python!

结果:

['Programming is fun.', 'When the "work" is done-', 'load ', 'if you wanna make your work also fun:', ' use Python python python!', '']

3. re.sub()的用法 是用来替换字符串:

比如说s1=' abc123cde456 ' 想要将数字都改成222的话 就要用到这个 re.sub('d+','222',s1) 其中,最重要的是第一个参数,也就是匹配正则表达式

这里有一个知识点是原生字符串 格式就是r' ' 引号里如果有转义字符串不想被转义的话 就不必在前边再加转义字符了#原生字符串r'' 与转义符

s1=r'abcabc'

print(s1)

s2='abc\abc'

print(s2)

s3='abc'nabc'

print(s3)

s4='ab\\cd\\ef'print(s4)

关于正则表达式,要学习的东西还有很多很多,一定要抽时间把这些东西弄明白!真的很重要!!!4.字典的用法

dic.setdefault(word.lower(), 0)这句话的意思是 如果dictionary里边没有某word.lower的键值对,就添加上 ,默认value是0 而dic[]就是设置value的值dic[word.lower()]

import re

def get_word_frequencies(file_name):

dic = {}

txt = open(file_name, 'r').read().splitlines() #转化为列表

print(txt)

n=0

for line in txt: #line就是每一行的字符

line = re.sub(r'[.?()!,"/]', ' ', line) #要替换的标点符号,英文字符可能出现的

line = re.sub(r' - ', ' ', line) #替换单独的‘-’

for word in line.split():

if word[-1] =='-': #当一行的最后一个字符是-的时候,需要跟下一个英文字符串联起来构成单词

m=word[:-1]

n=1

break

if n==1:

word=m+word

n=0

print (word)

dic.setdefault(word.lower(), 0) #不区分大小写 如果键不存在于字典中,将会添加键并将值设为默认值。

dic[word.lower()] += 1 #dic[]是用来查value的

print(dic) #统计每个单词出现的次数

get_word_frequencies("G:python文件poem.txt")

最后

以上就是健康哈密瓜为你收集整理的python处理文本文件 提取英文单词看成一个整体_python第四题 读取txt提取所有单词出现频次...的全部内容,希望文章能够帮你解决python处理文本文件 提取英文单词看成一个整体_python第四题 读取txt提取所有单词出现频次...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部