Python TypeError:强制转换为Unicode:需要字符串或缓冲区,找到元组

时间:2015-03-03 07:25:30

标签: python operating-system tuples typeerror

#!/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)

所以我正在制作一个程序来检查文件是否有“ErrorScatter”有效负载,但是在测试我的创建时我一直遇到并出错。因为我是新手,我不知道如何解决这个问题。

这是我得到的错误:

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

有人知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:14)

,Python中的运算符用于创建元组,例如

1, 2, 3

制作3元素元组

(1, 2, 3)

"blah", "bleh"

表示2元素元组

("blah", "bleh")

要连接字符串,您可以将+用作Gaurav already suggested

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

但实际上更好的方法是

import os

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

甚至

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

(使用os.path.join是一种习惯,一旦你碰巧在Windows上运行一些脚本,你就会欣赏这个习惯,这个习惯不太可能,但习惯会因重复而增长......)