我收到python错误: TypeError:join()在set_Xpress方法的139行中只接受一个参数(给定的2个),如下所示:
from os import path
from json import load
...
def set_Xpress(Xpress_number, special_ts, disk, platform, testcase):
...
with open("{0}:\\BBT2\\Configuration\\temporary.tmp".format(disk), "r") as test_conf_file_r:
test_conf_vocab = load(test_conf_file_r)
report = path.join(test_conf_vocab["report_dir"], test_conf_vocab["report_name"])
...
请帮助我理解它的原因。 Python shell执行它没有任何问题,并且使用此tmp文件在另一个方法中执行相同的笔划。提前谢谢。
答案 0 :(得分:17)
path
不是os.path
模块,它是一个字符串。你在某处重新定义了它。
from os import path # path is a module, path.join takes many arguments
...
path = '/some/path' # path is now a string, path.join is a totally
# different method, takes a single iterable
...
report = path.join(one, two) # TypeError, str.join takes one argument
答案 1 :(得分:1)
os.path.join()
接受任意数量的参数。您确定path.join
实际上是在呼叫os.path.join
吗?
答案 2 :(得分:0)
绝对os.path.join()接受与参数一样多的东西,就像那个说你已经将路径重新定义为新变量并存储为字符串的那样,所以要小心。尽管我绝对做到了这一点和之后经过长时间的搜索和试用,我发现了我的错误。