2015-03-03 14 views
6
#!/usr/bin/env python 
import sys 
import os 

print "Scan a file for ""ErrorScatter"" payload" 
print "Drag the suspicious file here then press enter." 
filepath = raw_input("File Location: ") 
fixpath = filepath , "/Contents/MacOS/ErrorScatter" 
scan = os.path.exists(fixpath) 

Więc robię program, aby sprawdzić, czy plik ma „ErrorScatter” ładunek ale trzymam napotykając i błędów podczas testowania moje dzieło. Ponieważ jestem początkującym, nie wiem jak to naprawić.Python TypeError: zmuszanie do Unicode: ciąg potrzebują lub bufor, krotka znaleźć

Jest to błąd Dostaję:

TypeError: coercing to Unicode: need string or buffer, tuple found 

Czy ktoś wie jak rozwiązać ten problem?

+0

'fixpath = ścieżka pliku +"/Contents/MacOS/ErrorScatter "' –

+0

Dzięki Man. zadziałało. : D: D – ACiDRAiN

Odpowiedz

12

operator Pythona służy do tworzenia krotki np

1, 2, 3 

sprawia 3-element krotki

(1, 2, 3) 

i

"blah", "bleh" 

oznacza 2-elementów krotki

("blah", "bleh") 

łączenia ciągów, można użyć + jak Gaurav already suggested:

fixpath = filepath + "/Contents/MacOS/ErrorScatter" 

ale w rzeczywistości lepszym sposobem jest

import os 

fixpath = os.path.join(filepath, "Contents/MacOS/ErrorScatter") 

lub nawet

fixpath = os.path.join(filepath, "Contents", "MacOS", "ErrorScatter") 

(używając os.path.join jest nawyk docenisz, gdy zdarzy ci się uruchomić jakieś skrypty w oknach, ten też nie jest prawdopodobnie, ale nawyki rosną przez powtarzanie ...)

Powiązane problemy