3

我收到 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 文件的另一种方法可以很好地执行相同的笔划。提前致谢。

4

3 回答 3

20

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
于 2013-04-26T12:28:19.157 回答
1

os.path.join()接受任意数量的参数。你确定你path.join真的在打电话os.path.join吗?

于 2013-04-26T12:29:22.343 回答
0

绝对 os.path.join() 需要尽可能多的参数,就像那个说你肯定已经将路径重新定义为新变量并存储为字符串的人一样,所以要小心。虽然我绝对这样做了,经过长时间的搜索和试验我发现了我的错误。

于 2016-07-06T06:57:14.547 回答