os.path.join()只接受一个参数(给定2个)

时间:2013-04-26 12:26:12

标签: python os.path

我收到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文件在另一个方法中执行相同的笔划。提前谢谢。

3 个答案:

答案 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()接受与参数一样多的东西,就像那个说你已经将路径重新定义为新变量并存储为字符串的那样,所以要小心。尽管我绝对做到了这一点和之后经过长时间的搜索和试用,我发现了我的错误。