2016-07-09 5 views
-1

나는 chatango에서 chatroom을위한 봇을 코딩 중이며 몇 가지 자료를 스트리밍 중이며 재생 목록을 추가하므로 사용자가 "! seinfeld.mov 추가"라고 말하면 추가 할 수 있습니다. 재생 목록에 파일이 없으면 알려주지 않습니다. 찾으면 재생 목록에 추가됩니다. 내가 거기에있는 파일을 검색 할 때마다이름으로 파일 찾기

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

필요한 모든 종속성, 수입, 그것은 nope를 인쇄합니다.

+0

또한 여기서는 다른 포럼과 비교하여 코드 블록을 수행하는 방법을 모르겠다. /// 구문은 괜찮습니다. – Mzon

+0

더 많은 코드를 보여주고 정확히 무엇을 성취하려고하는지 설명하십시오. – Will

+0

chatango에서 chatroom을위한 봇을 코딩하고 있습니다. 일부 자료를 스트리밍 중이며 재생 목록을 추가하려고합니다. 사용자가 "! seinfeld.mov를 추가하십시오"라고 말하면 무엇이든지 재생 목록에 추가 할 수 있습니다. 파일이 존재하지 않는다면 발견되지 않으면 재생 목록에 추가됩니다. – Mzon

답변

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의 모든 디렉토리, 재귀 적으로 파일을 찾을 수 있습니다 , 그리고 그것이있는 경로를 반환합니다.

+0

고침, 고마워! 그것은 내 시스템에서 어떤 방식 으로든 작동하지만, 탈출하는 것이 더 좋습니다. – Will

1

파일이 C:\Media (슬래시를 이스케이프해야 함)인지 확인하면됩니다. os.listdir()을 사용할 수 있습니다.

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