按名称

时间:2016-07-09 06:43:49

标签: python

我正在为chatango上的聊天室编写机器人,我正在播放一些东西,我想添加一个播放列表,所以用户可以说“!add seinfeld.mov”或者其他什么,它会将它添加到播放列表,如果文件不存在,它将告诉他们nope,如果找到它,它会将它添加到播放列表。

if cmd == "add":  
    if os.chdir("C:\Media") and file.name == (args):  
        print('vodka!')
    else:
        print('nope')

导入所有必需的依赖项,每当我扫描那里的文件时,它都会打印nope

2 个答案:

答案 0 :(得分:1)

您只需要查看文件是否在C:\Media中(记得要逃避斜线)。您可以使用os.listdir()

import os
if cmd == "add":
    if args in os.listdir("C:\\Media"):
        print("vodka!")
    else:
        print("nope")

答案 1 :(得分:0)

首先,让我们使用os.walk创建一个查找文件的功能:

import os

def find_file(in_path, name):
    for root, directories, filenames in os.walk(in_path):
        if not filenames:
            continue

        for filename in filenames:
            if filename == name:
                return os.path.join(root, filename)

    return None

然后我们可以这样做:

if cmd == "add":  
    if find_file("C:\\Media", args) is not None:  
        print('vodka!')
    else:
        print('nope')

这实际上会在C:\Media中的任何目录下以递归方式找到该文件,并返回它所在的路径。