2016-07-09 19 views
-1

私はチャットルームでチャットルームのボットをコーディングしています。私はいくつかのものをストリーミングしています。プレイリストを追加したいので、ユーザーは「!seinfeld.movを追加してください」などと言って追加しますプレイリストにファイルが存在しない場合、それが見つからない場合はプレイリストに追加されます。私はそこにあるファイルをスキャンするたびに名前でファイルを見つける

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

すべての必要な依存関係は、インポートされ、それがnopeを印刷します。

+0

また、他のforum:///の構文と比較して複雑なので、コードブロックを行う方法はわかりません。 – Mzon

+0

コードをさらに表示し、正確に何を達成しようとしているのかを説明してください。 – Will

+0

私はchatangoのチャットルームのボットをコーディングしています。私はいくつかのものをストリーミングしています。プレイリストを追加したいので、ユーザーは「!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") 
関連する問題