【问题标题】:os.path.join producing an extra forward slashos.path.join 产生一个额外的正斜杠
【发布时间】:2015-02-09 13:57:22
【问题描述】:

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

【问题讨论】:

    标签: python python-2.7 os.path


    【解决方案1】:

    您要求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)
    

    【讨论】:

      猜你喜欢
      • 2013-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-14
      • 1970-01-01
      • 1970-01-01
      • 2023-04-11
      • 1970-01-01
      相关资源
      最近更新 更多