Macos 在某些文本文件中搜索单词的代码在第一个.rtf文件之前停止

Macos 在某些文本文件中搜索单词的代码在第一个.rtf文件之前停止,macos,python-2.7,Macos,Python 2.7,我正在尝试制作一个程序,在一些.rtf文件中查找单词 e、 g:我有一些文本编辑文件,其中包含以所有字符开头的所有单词(WordsWhichStartsWithA.rtf、WordsWhichStartsWithB.rtf、WordsWhichStartsWithC.rtf等),当我给出一个单词(例如:“help”)时,我想返回给定单词所在的文件(在本例中为“help”)将在WordsWhichStartsWithH.rtf文件中,程序将返回WordsWhichStartsWithH.rtfNO

我正在尝试制作一个程序,在一些.rtf文件中查找单词

e、 g:我有一些文本编辑文件,其中包含以所有字符开头的所有单词(WordsWhichStartsWithA.rtf、WordsWhichStartsWithB.rtf、WordsWhichStartsWithC.rtf等),当我给出一个单词(例如:“help”)时,我想返回给定单词所在的文件(在本例中为“help”)将在WordsWhichStartsWithH.rtf文件中,程序将返回WordsWhichStartsWithH.rtfNOTWordsWhichStartsWithW.rtf其中“whelp”是,我只想找到单词,而不是包含给定单词的字符串)

以下是我到目前为止的情况:

import os

for fname in os.listdir('/Users/andreivaran/Desktop/Info'):
    if os.path.isfile(fname):
        #print fname
        with open(fname) as f:
            for line in f:
                if 'help' in line:
                    print fname
                    break
在第一个
if
检查路径是否为file之前,我已经打印了
fname
,以确定代码是否检查了所有文本文件,我得到了这个结果

>>>.DS_Store

    WordsWhichStartsWithA.rtf
它返回了我在文件夹中看不到的.DS_存储,并且它没有检查所有的.rtf文件,它在第一个文件之后停止

忘记提到.rtf文件所在的目录与python文件所在的目录不同


谢谢大家!

.DS\u Store
文件是MacOS上的隐藏文件,打开该目录中的
终端应用程序
,键入
ls-al.
,它应该显示
.DS\u Store
文件。然后键入
rm.DS_Store
应该删除它,然后你可以重新运行你的python脚本。或者使用
如果os.path.isfile(fname)而不是fname.startswith('.'):
是的,谢谢,我已经成功删除了.DS_Store文件,但是我的代码仍然在第一个文件之前停止,并且没有返回任何东西,对吗,您仍然需要使用
.readlines()
读取
文件,因此将f中的行的
更改为f中的行的
。readlines():
,然后重试。