TypeError: cannot concatenate 'str' and 'NoneType' - Objekte

save = "/root/foo/"
PERF_PATH="/root/foobar/"

Also, Zunächst hatte ich die variable save und perf_path im cmd. aber jetzt möchte ich Sie ersetzen es für eine verbesserte Lesbarkeit.

Ich wollte einen Ordner erstellen, in dem die variable app[a] irgendwann werden gespeichert.

direc = os.mkdir(save + i + "-"+ j +"-" + k + "-" +l)

Erstellen Sie ein Verzeichnis scheint nicht zu einem problem.
aber der Beitritt zu einer nicht-string-Wert variable auf eine Zeichenfolge scheint ein problem zu sein.

cmd = "taskset -c %s" + PERF_PATH + "perf2 stat -t %s e r4008387e1 -f -o" +save + direc + "%s.csv &" % (cpus_list[a],fpid[a],apps[a])
pro= subprocess.Popen(cmd,shell=True, stdout=subprocess.PIPE, preexec_fn=os.setsid)

TypeError: cannot concatenate 'str' and 'NoneType' objects

cmd = "taskset -c %s" + str(PERF_PATH) + "perf2 stat -t %s e r4008387e1 -f -o" +str(save) + str(direc) + "%s.csv &" % (cpus_list[a],fpid[a],apps[a])

dass war nicht viel helfen, entweder.

irgendwelche Ideen, wie ich dieses Problem lösen?

  • Die Fehlermeldung sagt Ihnen, dass eine der Variablen, die Sie versuchen hinzuzufügen, ist None. Herauszufinden, welches es ist.
  • Aber dann, sobald Sie Vergangenheit, die Fehler, Sie gehen zu bekommen eine TypeError: not all arguments converted during string formatting. Das problem dort ist, dass % hat eine höhere Priorität als +, aber das eigentliche problem ist, dass du versuchst zu mischen, string-Verkettung und die % Formatierung zusammen in der gleichen Zeit, die ist schwer zu bekommen Recht, und noch schwerer zu Lesen, auch wenn Sie ihm Recht erhalten. Nur eine oder das andere—im Idealfall % formatieren, oder, noch besser, {} Formatierung.
InformationsquelleAutor pistal | 2013-02-06
Schreibe einen Kommentar