繁体   English   中英

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

[英]pathlib.Path.mkdir() won't make directory at specified path

使用以下方法遇到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"

您不应在路径段之间使用\\\\ 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已经是一个字符串。

您也可以尝试类似

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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM