2017-09-12 12 views
-1

コードから始めましょう。コードに含まれるすべての変数は明確に定義されています。Pythonコールバック構文エラー

call(['youtube-upload', '--title='song + " ~ ["+movie_name +"]", '--description="Hi there!\nDon\'t forget to enjoy :)"', '--category="Song"', '--default-language="en"', '--playlist "'+xx+'"', song2file(song)+'.mp4'], shell=False) 

エラー(構文エラー): Syntax Error

あなたが'--title='song+が欠落している

+0

[ 'F'-文字列PEP](https://www.python.org/dev/peps/pepに私の注意を持って来るための' '--title =' + song' – PRMoureu

答えて

2

を助けてください。しかし、実際には文字列の代わりにstr.formatを使用する必要があります。読みやすく、速度が速く、+が見つからないか、または引用符が一致しないリスクを軽減します。

たとえば

:あなたは、Python 3.6以降を持っている場合は

call(['youtube-upload', 
     '--title={song} ~ [{movie_name}]'.format(song=song, movie_name=movie_name), 
     '--description="Hi there!\nDon\'t forget to enjoy :)"', 
     '--category="Song"', 
     '--default-language="en"', 
     '--playlist "{xx}"'.format(xx=xx), 
     '{filename}.mp4'.format(filename=song2file(song))], 
    shell=False) 

そしてf-stringsはかなりこれを短縮します:

call(['youtube-upload', 
     f'--title={song} ~ [{movie_name}]', 
     '--description="Hi there!\nDon\'t forget to enjoy :)"', 
     '--category="Song"', 
     '--default-language="en"', 
     f'--playlist "{xx}"', 
     f'{song2file(song)}.mp4'], 
    shell=False) 
+0

おかげでみてください-0498)。面白い読書。 –

3

は '--title =' と歌の間で '+' 不足しています。

call(['youtube-upload', '--title='+ song + " ~ ["+movie_name +"]", '--description="Hi there!\nDon\'t forget to enjoy :)"', '--category="Song"', '--default-language="en"', '--playlist "'+xx+'"', song2file(song)+'.mp4'], shell=False)