我有兩個文本檔案: File1.txt:
隨機詞隨機詞
*** 從 *** 開始
需要這些話
*** 結束于 ***
更多隨機詞
檔案2.txt:
隨機詞隨機詞
更多隨機詞 *** 開始于 ***
不需要這些話
*** 從 *** 開始
這里需要這些詞
*** 結束于 ***
這些話應該忽略
到目前為止,我已經開發了這個功能:
重新進口
"""回傳感興趣區域內的小寫單詞串列的函式"""
def get_certain_words_from_file(檔案名):
"""defines the given region and returns a list of words inside"""
with open(filename, 'r') as file:
lines = file.read()
list_of_lines = lines.splitlines()
index_start = 0
index_end = 0
for i in range(len(list_of_lines)):
if list_of_lines[i].startswith('***BEGINNING AT '):
index_start = i
if list_of_lines[i].startswith('*** ENDING AT'):
index_end = i
valid_lines = list_of_lines[index_start : index_end]
valid_lines = "".join(str(x) for x in valid_lines)
valid_lines = valid_lines.lower()
valid_lines = valid_lines.split()
valid_words = []
words_on_line = []
for line in valid_lines:
words_on_line = re.findall("[a-z] [-'][a-z] |[a-z] [']?|[a-z] ", line)
for word in words_on_line:
valid_words.append(word)
return valid_words
檔案名 = "file2.txt"
單詞 = get_words_from_file(檔案名)
列印(檔案名,“加載正常。”)
print("{} 找到有效單詞。".format(len(words)))
print("有效單詞串列:")
言歸正傳:
print(word)
當前輸出為:
file2.txt 加載正常。
找到 0 個有效單詞。
有效詞表:
但我試圖得到:
file2.txt 加載正常。
找到 4 個有效單詞。
有效詞表:
需要
這些
字
這里
我的想法是第一部分有問題,但是對于 python 和整個編程來說都是新的,所以不太確定
任何事情都會有幫助謝謝!
uj5u.com熱心網友回復:
從我所見 - 你不需要正則運算式;您可以使用 Python 的“in”關鍵字。
filename = 'input_file'
valid_words = ['word1', 'word2']
with open(filename, 'r') as file:
lines = file.read()
list_of_lines = lines.splitlines()
lines_with_word = []
for line in list_of_lines:
for word in valid_words:
if word in line:
lines_with_word.append(line)
print(lines_with_word)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/483134.html
