pathlib.Path.mkdir()不会在指定路径下创建目录

时间:2018-12-16 06:51:55

标签: python

使用以下命令在Path.mkdir()上遇到问题

Path('C:\\Users\\', user, 'Desktop\\py\\', folder, '\\', str(x).rstrip('.bmp')).mkdir()

忽略其路径,并在C:/下建立目录,如下所示:

"C:/directory_created_here"

而不是:

"C:/Users/user/Desktop/py/folder/directory__created_here"

2 个答案:

答案 0 :(得分:0)

您不应在路径段之间使用\\pathlib处理该部分。完成后,Python会将'\\'段作为路径的起点,并丢弃它之前的所有内容(C:驱动器设置除外)。

此外,rstrip('.bmp')并没有像您想的那样工作-它会删除所有.bmp字符字符串的右侧,而不是丢弃结尾的.bmp

您的通话应该看起来像

Path('C:\\Users', user, 'Desktop\\py', folder, str(x)).with_suffix('').mkdir()

Path('C:\\Users', user, 'Desktop\\py', folder, x).with_suffix('').mkdir()

如果x已经是一个字符串。

答案 1 :(得分:0)

您也可以尝试类似的方法

import os

user = 'my_name'
folder = 'new_folder'
x = 'test.bmp'

path_parts = [
    'C:',
    'Users',
    user,
    'Desktop',
    'py',
    folder,
    str(x).rstrip('.bmp'),
]

path = os.path.join(*path_parts)
os.makedirs(path)