os.path.join 产生一个额外的正斜杠

os.path.join producing an extra forward slash

我正在尝试根据变量 run 加入绝对路径和可变文件夹路径。但是,当我使用以下代码时,它会在字符串后插入一个正斜杠,而我不需要这样做。如何删除 Folder_ 后的斜线?

import os
currentwd = os.getcwd()
folder = '001'
run_folder = os.path.join(currentwd, 'Folder_', folder)
print run_folder

我使用这段代码得到的输出是:

/home/xkr/Workspace/Folder_/001

您要求 os.path.join() 获取多个路径元素并加入它们。 它正在做它的工作

不要使用os.path.join()生成文件名;只需使用串联:

run_folder = os.path.join(currentwd, 'Folder_' + folder)

或者使用字符串格式;后者可以为您提供诸如自动填充整数之类的不错的功能:

folder = 1
run_folder = os.path.join(currentwd, 'Folder_{:03d}'.format(folder))

这样您就可以将 folder 递增到 10 或 100,并且前导零的数量仍然正确。

请注意,您不必使用 os.getcwd();你也可以使用 os.path.abspath(),它会根据当前工作目录使相对路径成为绝对路径:

run_folder = os.path.abspath('Folder_' + folder)