在linux中搜索用户定义的文件
Posted
技术标签:
【中文标题】在linux中搜索用户定义的文件【英文标题】:Searching for a user defined file in linux 【发布时间】:2013-10-15 13:00:41 【问题描述】:我的任务是在 python(或 c++ 或 bash)中创建一个搜索程序,在编码方面我真的没有那么多经验,所以如果这根本不在正确的轨道上,对不起!
用户需要输入关键字IE“报告”,该函数需要在所有目录中查找名称为“报告”的文件。我在这里编写的这个脚本似乎一直运行到第 5 行。有人可以帮我吗?谢谢!
import os
keyword = raw_input ("What would you like to search for?")
os.chdir("/home/noob")
for files in os.listdir("."):
if files(keyword):
print files
【问题讨论】:
你不能使用find
命令吗?
分享链接。 ***.com/questions/5905054/…
【参考方案1】:
我猜你收到的是TypeError: 'list' object is not callable
。那是因为os.listdir
返回一个文件列表。
您想要执行以下操作之一:
if keyword in files: # for an exact match
或者
for filename in files:
if keyword.lower() in filename.lower(): #for case insensitive searching
【讨论】:
所以在添加之后,我认为我需要将文件定义到一个目录,如 files = /home/noob 啊哈太棒了!添加文件所在的位置有多容易?所以它会告诉你它所在的目录。我显然已经将它设置为在 /home/noob 中查找,但说文件在 noob/documents/office/ 中,我怎样才能让程序向我展示这个? 查看os
模块和os.path
(您最喜欢的搜索引擎应该会提供帮助)。特别感兴趣的应该是os.path.abspath
。 (另外,>>> help(os.path.abspath)
,一旦你完成了import os
。以上是关于在linux中搜索用户定义的文件的主要内容,如果未能解决你的问题,请参考以下文章