如何理解以下&#; os.path.join' python命令?

时间:2015-07-10 20:25:05

标签: python

我有以下代码段。

out_dir = os.path.join( dir, "myfile-{0}".format(os.environ['JOB_ID']) )

我理解os.path.join用于智能地连接一个或多个路径组件。那么这是否意味着" myfile- {0}" .format(os.environ [' JOB_ID'])也是一个路径组件?那为什么会这样?非常感谢您的时间和关注。

1 个答案:

答案 0 :(得分:1)

让我们分析一下你的问题:

out_dir = os.path.join( dir, "myfile-{0}".format(os.environ['JOB_ID']) )

您已经知道的是:out_dir是变量名,os.path.join是一种从两个(或更多)字符串中创建目录路径的方法。 您不完全确定的是该方法的参数:dir作为之前声明的变量对您来说也很清楚,但表达式"myfile-{0}".format(os.environ['JOB_ID'])对您来说有点混乱。 myfile-{0}"是一个字符串,可以在字符串上调用方法format,大括号{0}中的零被第一个参数替换,如果有{1}它将被第二个参数取代。插入os.environ['JOB_ID']的返回值代替{0}

假设返回值为1,所以这会产生字符串"myfile-1"。我们假设dir的值为"/path/to/the/directory"。然后为变量out_dir分配值"/path/to/the/directory/myfile-1"。注意斜杠/os.path.join创建文件的路径,负责目录分隔符。

这意味着"myfile-{0}".format(os.environ['JOB_ID'])也是路径组件。