2017-09-12 4 views
-1

Lassen Sie mich mit dem Code beginnen. Beachten Sie, dass alle im Code vorhandenen Variablen gut definiert sind.Python Callback Syntax Fehler

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) 

Fehler (Syntaxfehler): Syntax Error

Bitte Hilfe

+0

versuchen mit ' '--title =' + song' – PRMoureu

Antwort

2

Du eine + zwischen '--title=' und song fehlt. Allerdings sollten Sie wirklich str.format anstelle von String-Addition verwenden. Erleichtert das Lesen, beschleunigt und verringert das Risiko, dass + oder nicht übereinstimmende Anführungszeichen fehlen.

Zum Beispiel:

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) 

Falls Sie haben Python 3.6 oder höher, dann wird f-strings dies erheblich verkürzen:

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

Dank für meine Aufmerksamkeit auf die [' f'-strings PEP] bringen (https://www.python.org/dev/peps/pep -0498). Interessantes lesen. –

3

fehlt '+' zwischen '--title =' und Gesang.

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)