我是python 2.7的新手,我想知道是否有一种方法可以搜索某个文件夹(及其所有子文件夹,PDF和Word文档)中的某个单词。我需要将包含某个关键字的所有PDF和Word文件编译到一个新文件夹中,所以我认为python可能是最好的方法,而不是手动浏览每个文件并搜索单词。有什么想法吗?
答案 0 :(得分:0)
以下是如何在文件中搜索单词的示例:
files = ["example.txt", "example2.txt", "example3.txt"]
matches = [False, False, False]
for f in range(3):
fi = open(files[f], 'r')
for line in fi:
if "word" in line:
matches[f] = True
break
fi.close()
print matches
这将打开您的文件并检查关键字" word"。对于比较困难的PDF,除非您可以先将它们转换为文本文件。
我强烈建议您查看教程,例如查看目录(文件夹)等。
答案 1 :(得分:0)
def pdf2text(pdf_file):
return text_of_pdf_file
def word2text(doc_file):
return text_of_doc_file
def search_word_in_path(root_path,needle):
for current_dir,dirs,files in os.walk(root_path):
for fname in files:
fpath = os.path.join(current_dir,fname)
if fpath.endswith("pdf"):
if needle in pdf2text(fpath):
yield fpath
elif fpath.endswith("doc") or fpath.endswith("docx"):
if needle in word2text(fpath):
yield fpath
for filename in search_word_in_path(r"C:\Users\<UserName>\Documents","some word"):
print("Found 'some word' in %r"%filename)
我猜......我把一些工作留给了你作为解决的OP