2017-08-07 21 views
0

私はfreesound APIを使用して、ニューラルネットワークのトレーニングに使用するサウンドクリップを検索およびダウンロードしています。スクリプトが名前に特殊文字を含むファイルを見つけると、エラーが発生し、スクリプトは停止します。特殊文字を含むファイルをダウンロードして検索を続けたいと思います。ここで名前が「/」または「」のファイルをダウンロードするときのエラー

は私のコードです:(APIキーが、中にいた今のためにそれを取り出した)

import freesound, sys,os 


client = freesound.FreesoundClient() 
client.set_token("API KEY","token") 

results = client.text_search(query="dog", page_size=150, 
fields="id,name,previews") 



for sound in results: 
    if "/" or "\\" or '.' not in sound.name: 
     sound.retrieve_preview(".", sound.name+".mp3") 
     print(sound.name) 

エラーコード:

FileNotFoundError: [Errno 2] No such file or directory: '.\\Dog eating Neck 
of Goose/Chewing/Breaking Bones.mp3' 
+0

if "/"または "\\"または "。" sound.name'ではない:あなたが思っていることはしません。それはちょうど「真実」 –

答えて

0
if "/" or "\\" or '.' not in sound.name 

がでちょうど"/"(truthy)ORされ他の表現。それは "真実"なので、ここで(短絡)停止し、あなたはいつもifを入力します。

自然言語の試用は、Pythonでの適切なコーディング方法ではありません。別に

、私はこのようなanyを使用することになり、ここでの唯一の問題の文字がスラッシュ/バックスラッシュ(あなたにもコロンをテストする必要があります)ですが、ドットは、それが正常に動作させるために、ファイル名

のためにOKであることに注意してください:

if not any(x in "/\\:" for x in sound.name): 
+0

ありがとう。これはうまくいった。 –

+0

よろしくお願いします。 "働いている"と答える正しい方法は、答えを受け入れることです:http://stackoverflow.com/help/someone-answers –

関連する問題