如何为字母表的每个字母运行单词搜索功能(alphabet word search)

我已经定义了一个函数,该函数从我指定的字母开始搜索所有 5 个字母的单词的字符串,然后使用处理过的列表创建一个文本文件。

我已经定义了一个函数,该函数从我指定的字母开始搜索所有 5 个字母的单词的字符串,然后使用处理过的列表创建一个文本文件。

我目前必须为每个字母手动运行程序,如何更改我的代码,以便该函数将一个接一个地搜索字母表中的所有字母,并为每个结果创建一个单独的文本文件?

import re
from pathlib import Path
# define starting letter of word search
ltr = 'm' 
# define RegEx pattern to find all 5-letter words starting with a 
certain letter 
pattern = r'\b'+ltr+r'\w{4}\b'
# define Function WordSearch: search wordlist.txt with defined RegEx 
Pattern
def WordSearch():
    # set Path to Main Text file
    file = r'C:\Users\User1\OneDrive\Documents\wordlist.txt'
    # open Main Text file and set variable 'MainText' equal to contents
    fileToOpen = Path(file)
    f = open(fileToOpen)
    MainText = f.read()
    # search all words in Main Text and make list of those that fit the 
    # RegEx pattern defined above
    slist = re.findall(pattern,MainText)
    # make set from list to eliminate duplicate entries
    slist_nd = list(set(slist))
    # turn Set into a string
    sliststr = ' '.join(slist_nd)
    # open new txt file, write string into contents
    slist_file = open(r"C:\Users\User1\OneDrive\Documents\fivelist"+ltr+".txt", "w")
    slist_file.write(sliststr)
    # close files
    f.close()
    slist_file.close()
WordSearch()
2

给你.

import string
letters = string.ascii_lowercase

那你就可以了

for ltr in letters:
    pattern = r'\b'+ltr+r'\w{4}\b'

请注意,您必须缩进所有转发代码才能在 for 循环中。

1

使用列表和循环列表。为你的函数使用变量。在循环中调用函数。

import string
import re
from pathlib import Path
def WordSearch(pattern, ltr):
    # set Path to Main Text file
    file = r'C:\Users\User1\OneDrive\Documents\wordlist.txt'
    # open Main Text file and set variable 'MainText' equal to contents
    fileToOpen = Path(file)
    f = open(fileToOpen)
    MainText = f.read()
    # search all words in Main Text and make list of those that fit the 
    # RegEx pattern defined above
    slist = re.findall(pattern,MainText)
    # make set from list to eliminate duplicate entries
    slist_nd = list(set(slist))
    # turn Set into a string
    sliststr = ' '.join(slist_nd)
    # open new txt file, write string into contents
    slist_file = open(r"C:\Users\User1\OneDrive\Documents\fivelist"+ltr+".txt", "w")
    slist_file.write(sliststr)
    # close files
    f.close()
    slist_file.close()
alphabet = list(string.ascii_lowercase)
for x in alphabet:
    pattern = r'\b'+x+r'\w{4}\b'
    WordSearch(pattern, x)

你也可以研究线程。并在它自己的线程中启动每个函数。这样你就不必等待第一个完成下一个开始。

from threading import Thread

那就像这样.

threads = []
alphabet = list(string.ascii_lowercase)
for x in alphabet:
    pattern = r'\b'+x+r'\w{4}\b'
    t = Thread(target=WordSearch, args=(pattern, x))
    threads.append(t)
    
for x in threads:
    x.start()
for x in threads:
    x.join()

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(588)
R程序设计中的特征函数
上一篇
风变编程python:以编程方式禁用麦克风(how do you turn off microphone on iphone)
下一篇

相关推荐

  • 开源服务器:开源联合搜索服务器(federated search definition)

    关于开源服务器的问题,在federated search definition中经常遇到,寻找开源搜索联盟解决方案基本上我有无数的数据存储库,我无法直接连接到 SOLR。…

    2022-12-12 01:52:28
    0 37 29
  • Logstash管道推送数据而不将其转换为 Elasticsearch

    我正在使用带有 ELK 堆栈(Elastic,Logstash,Kibana)的 docker-compose 文件。docker-compose.yml文件非常直接:…

    2022-12-19 14:48:20
    0 75 88
  • 如何在elasticsearch中实现首字母缩略词作为同义词

    我的请求中有以下设置:…

    2022-11-11 15:16:47
    0 66 24
  • iOSWidget在WidgetSearch中不可用(仅适用于 50%的用户)

    我们在构建 iOS Widget 时遇到了一个主要问题。iOS Widgets 基本上是可以固定在 iPhone 主屏幕(What is a widget?)上的大型信息应用程序图标。iOS Widgets 是在 iOS 14 中引入的。…

    2022-12-15 11:59:02
    0 16 91
  • cvt和自动挡哪个好提升驾驶体验的最佳选择

    CVT(可变转换器)是一种由传动带及传动轮组成的无级变速器,它可以在没有传动档位的情况下,根据驾驶者的驾驶习惯,自动调整传动轮之间的转速比,从而实现无级变速。自动挡是指车辆自动变速箱,它使用液力传动来实现变速,可以自动适应车辆的行驶状态,减少司机的疲劳,提高行车的舒适性。…

    2023-06-08 07:42:19
    0 83 26
  • cv一叶扁舟和清影轩阳:漫游在一叶扁舟和清影轩阳之间

    cv一叶扁舟是一款开源的计算机视觉库,用于图像处理、计算机视觉等。它提供了丰富的API,可以帮助开发者快速实现各种图像处理任务,如图像分割、目标检测、图像识别等。清影轩阳是一款开源的计算机视觉框架,用于图像处理、目标检测、分类等。它提供了丰富的API,可以帮助开发者快速实现各种图像处理任务,如图像分割、目标检测、图像识别等。…

    2023-08-05 07:06:20
    0 71 77
  • css设置滚动条宽度设置:This is a title

    CSS设置滚动条宽度的方法:使用CSS3的。-webkit-属性:…

    2023-06-06 10:53:01
    0 81 13
  • xl和xe汽车cvt:探索XL和XE汽车的CVT技术优势

    XL和XE汽车CVT是一种变速器,它使用液力变矩器代替传统的机械变速器,以达到更高的效率。它的工作原理是,当发动机输出功率时,液力变矩器就会将这些功率转换为液压能量,然后将能量传递到变速器的输出轴上,从而实现变速。…

    2023-04-09 00:41:04
    0 20 53

发表评论

登录 后才能评论

评论列表(39条)