使用python 2.7 是的,这是我见过的最令人生畏的论坛的第一个问题。 首先,我不是程序员,但我正在努力学习。
我希望能够搜索一个非常大的mp3目录并告诉我,我输入的内容是否存在并在屏幕上显示。而已! 细节: 我对编程很新,需要很多细节。我愿意自己学习这个,需要知道在哪里寻找答案。我一直在这里,谷歌和其他地方四处寻找,但我的项目没有确切信息。
这是我的代码:对不起,我很新,需要了解。
from sys import argv
from os import walk
import os
prompt = ':)'
print ("Can I help you with anything today?")
filename = raw_input(prompt)
print ("Looking for %r .... This might take a sec.") % filename
#This is where i get stumped, should I use this or something else?
#don't know how to put userinput into search
for dirname, dirnames, filenames in os.walk('.'):
# print path to all subdirectories first.
for subdirname in dirnames:
print os.path.join(dirname, subdirname)
# print path to all filenames.
for filename in filenames:
print os.path.join(dirname, filename)
print (" That's all i got")
print ("Hit ENTER to exit")
raw_input(prompt)
运行此选项将显示所有文件的列表。我需要,对于EG:raw_input(提示)= Tina Turner。我希望程序查找名为“Tina Turner”的所有文件并显示它们。 babysteps拜托,我应该使用walk还是find_all还是......我已经疯了,试图自己解决这个问题。寻找关于我不理解的东西的文档,或者不知道我在寻找什么,是非常令人困惑的。我是一个菜鸟,所以指出我正确的方向非常感谢。 希望我没有“P”任何关于这个生活故事的解释。 如果我在几天内没有阅读任何内容,我会知道原因。
答案 0 :(得分:3)
如果您只有一个文件目录,那么您可以使用glob
模块。为此,您必须import glob
那是
for i in glob.glob(filename):
print i
glob
模块在搜索类似模式时非常有用。
注意 - glob.glob
中的参数必须是目录的完整路径。即如果文件在桌面中,则必须通过home/user/Desktop/*Tina Turner*
其中*
是元字符,以匹配名称为Tina Turner
或搜索您可以执行的所有子目录
for dirname, dirnames, filenames in os.walk('.'):
for i in glob.glob(dirname+'/*'+filename+'*'):
print i
答案 1 :(得分:1)