import pathlib
stop_words = open("StopWordList.txt")
stop_words.read()
for path in pathlib.Path(r'C:\Users\Usuario\Desktop\HelloWorld\emails').iterdir():
if path.is_file():
current_file = open(path, "r")
lines = current_file.read()
words = lines.split()
for y in stop_words:
if not y in stop_words:
appendFile = open('filteredtext.txt', 'a')
appendFile.write(" "+y)
appendFile.close()
我没有测试它(我没有带有停止词的文件),但我会这样做
import pathlib
import sys
if len(sys.argv) > 1:
folder = sys.argv[1] # get folder as parameter
else:
folder = r'C:\Users\Usuario\Desktop\HelloWorld\emails'
stop_words = open("StopWordList.txt").read().lower() # to compare lowercase stopwords with lowercase words
for path in pathlib.Path(folder).iterdir():
if path.is_file():
# --- read all text at once ---
input_file = open(path) # it use `r` as default
text = input_file.read()
input_file.close()
original_words = text.split() # text -> words
# --- remove stopwords ---
filtered_words = []
for word in original_words:
temp_word = word.lower().rstrip('.,!?')
if temp_word not in stop_words: # check lowercase without `.,!?`
filtered_words.appeend(word) # keep original word
# --- save all text at once ---
output_path = path + '-filtered' # create new filename
text = " ".join(filtered_words) # words -> text
output_file = open('output_path', 'w')
output_file.write(text)
output_file.close()
它不会删除.,!?
并且不会转换为小写。
最终您可以将代码拆分为函数
import pathlib
import sys
# --- functions ---
def read_words(path):
input_file = open(path) # it use `r` as default
text = input_file.read()
input_file.close()
words = text.split() # text -> words
return words
def filter_words(words, stopwords):
filtered_words = []
for word in all_words:
temp_word = word.lower().rstrip('.,!?')
if temp_word not in stop_words:
filtered_words.appeend(word)
return filtered_words
def write_words(path, words):
text = " ".join(words) # words -> text
output_file = open(path, 'w')
output_file.write(text)
output_file.close()
# --- main ---
if len(sys.argv) > 1:
folder = sys.argv[1] # get folder as parameter
else:
folder = r'C:\Users\Usuario\Desktop\HelloWorld\emails'
stop_words = open("StopWordList.txt").read().lower() # to compare lowercase stopwords with lowercase words
for path in pathlib.Path(folder).iterdir():
if path.is_file():
words = read_words(path)
words = fiter_words(words, stopwords)
write_words(path + '-fitered', words)
问题内容: 我有一个大文件,只需要删除几行,是否有任何方法可以打开新文件并复制整个文本? 编辑:主要问题是,当它在多个txt filse中运行时,该程序失败 问题答案: 有什么方法可以做到而无需打开新文件并复制整个文本? 不,没有。当然,如果您想 安全地 做的话就没有。 而且也不会真正帮助您。它可以让您用相等数量的字节替换文件中的字节序列,但这并不意味着删除一行。 您可以这样使用RAF: 给定初始
问题内容: 我正在尝试删除包含特定字符串的特定行。 我有一个名为 numbers.txt 的文件,其内容如下: Peter· Tom TOM1 Inflammation 我要删除的是文件中的那个 tom ,所以我做了以下功能: 输出为: 彼得· 颜 如您所见,问题在于该函数删除了 tom 和 tom1 ,但是我不想删除 tom1 。我只想删除 tom 。这是我想要的输出: 彼得 TOM1 燕 有什
我正在使用gradle构建一个Spring Boot应用程序,我希望从war中删除文件,因为该文件将从外部加载(它运行在tomcat容器中,而不是嵌入式的)。 我查看了StackOverflow和Gradle文档,试图找出该做什么,但我不知道该绑定到哪个阶段,以及在创建war之前还是之后排除该文件。处理文件似乎也有多种方法。 我相信Maven使用作为等价物。
问题内容: 我有一个像这样的textfile.txt: 如何删除最舒适的前三行和最后一行? 问题答案:
问题内容: 我有以下要在node.js中操作的文本文件(“ test.txt”): 我想删除第一行,以使其成为第一行。我怎样才能做到这一点? 问题答案: