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)
我正在尝试根据变量 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)